아래 코드는 길이가 다른 두 배열을 추가하는 것을 만족하지만, 임의의 수의 배열을 인수로 받아들이도록 수정하여 예를 들어 ([1, 2, 3], [4, 5], [6 ])는 [11, 7, 3] 배열을 반환합니까?
const addTogether = (arr1, arr2) => {
let result = [];
for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) {
result.push((arr1[i] || 0) + (arr2[i] || 0))
}
return result
}
중첩 배열을 사용하고 두 배열 변수를 하드 코딩하는 대신 배열을 반복합니다.
arrays.map()
모든 길이를 가져 오는 데 사용할 수 있으므로 최대 길이를 계산할 수 있습니다. 그리고 arrays.reduce()
각 배열의 요소를 요약합니다.
const addTogether = (...arrays) => {
let result = [];
let len = Math.max(...arrays.map(a => a.length));
for (let i = 0; i < len; i++) {
result.push(arrays.reduce((sum, arr) => sum + (arr[i] || 0), 0));
}
return result
}
console.log(addTogether([1, 2, 3], [4, 5], [6]));
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다