중첩 배열을 병합하는 JavaScript 함수를 함께 사용했습니다. 그러나이 메서드는 항상 원래 배열을 반환합니다. 예를 들어,이 배열을 [1, 2, 3, [4, 5, [6], [ ] ] ]
배열로 실행하면 해당 배열이 반환됩니다. 나는 줄일 수있는 방법이 있다는 것을 알고 있지만, 논리적 인 이유로이 방법이 작동하지 못하게 막는 것은 무엇입니까? .map
을 사용하면 반환 값을 조작하고 재귀 호출을 통해 새 배열 내에서이를 반환 할 수 있어야합니다.Javascript 함수가 제대로 배열 병합되지 않음
function mapper(array) {
return array.map((item) => {
return (Array.isArray(item)) ? mapper(item) : item
}
)}
지도를 사용하고 있습니다. Map은'n' 엘리먼트의 배열을 반환합니다. 대신'.reduce'를 사용하십시오. 1 간단한 해킹은'var result = arr.toString(). split (',')' – Rajesh
일 수 있습니다. 배열 자체를 매핑하면됩니다. 단지 자체를 반환 할 것입니다. – Li357
왜 자신에게 매핑됩니까? 그것은 배열이 아닌 숫자 만 리턴해야하는 배열 인 경우 재귀 적으로 함수를 호출합니다. 이 작업을 수행하는 방식의 재귀 호출은 동일한 재귀 호출을 사용합니다. .map을 사용하면 반환 값을 조작하여 새 배열 내에서 반환 할 수 있습니다. – Dog