-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patharrayPlusArray.js
More file actions
31 lines (22 loc) · 932 Bytes
/
arrayPlusArray.js
File metadata and controls
31 lines (22 loc) · 932 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// https://www.codewars.com/kata/5a2be17aee1aaefe2a000151/train/javascript
function arrayPlusArray(arr1, arr2) {
let finalArr = [];
arr1.forEach((numOne, idx) => {
finalArr.push(numOne + arr2[idx]);
});
return finalArr.reduce(function (total, num) {
return total + num;
}, 0);
}
// shorter solution, study this...
function arrayPlusArray(arr1, arr2) {
return arr1.concat(arr2).reduce((acc, cur) => acc + cur);
}
// ^ While not a bad answer, keep in mind that an error will be thrown if both arr1 and arr2 are empty because you're doing reduce on an empty sequence without an initial value. To avoid this, simply provide a seed (such as 0) as the second argument to reduce.
function arrayPlusArray(arr1, arr2) {
return arr1.concat(arr2).reduce((acc, cur) => acc + cur, 0);
}
// alternate solution:
function arrayPlusArray(arr1, arr2) {
return [...arr1, ...arr2].reduce((acc, num) => acc + num, 0);
}