함수 프로그래밍을 사용하여 내 자신의 병열 함수를 만드는 데 열심히 노력했습니다. 나는 허위가 대답에 포함되지 않은 어떤 이유를 제외하고는 모든 일을한다. 나는 codewars에 대한 응답으로 입력을하려고하고 있으며이를 제외한 모든 경우에 작동합니다배열의 첫 번째 레이어 만 맞추기
대신flatten([[[1,2,3]]]) // => [[1,2,3]]
, 내 코드가 출력된다
flatten([[[1,2,3]]]) // => [1,2,3]
이것에 대해 실망스러운 부분은 내가 생각하는 것입니다 내 대답은 제공된 것보다이 더 합리적입니다. 그러나 어쨌든이 문제를 해결하고 싶습니다. 내가 직면하고있는 도전은 내가 너무 복잡한 것을 만들었 기 때문에 전체 구조를 혼란스럽게하지 않고 전체 리팩토링 모든 것을 필요로하지 않고 수정하는 것이 어렵다는 것이다. 위와 같은 특별한 경우를위한 함수를 만들고 싶지만 현재 구조를 방해하지 않고 어떻게해야하는지 잘 모르겠습니다. 어떻게이 방법을 구현할 수 있습니까?
이 유형의 다른 스레드는 모두 numpy로 처리됩니다. Javascript와 관련된 항목을 찾을 수 없습니다. Kthnx
섹시 코드 :
var flatten = function (parentArray) {
return reduce(pushArray,[],parentArray);
}
function reduce(combine, base, array) {
forEach(array, function(element) {
base = combine(base,element);
});
return base;
}
function pushArray(baseArray,tempArray) {
while (tempArray[0]) {
baseArray.push(tempArray.shift()); }
return baseArray;
}
* forEach *는 어디에 정의되어 있습니까? – RobG