grow.js (8kyu 50)
Codewars 알고리즘 풀이
Problem
- Given a non-empty array of integers, return the result of multiplying the values together in order.
- 주어진 정수 배열의 각 값을 차례로 곱해서 반환한다.
Solution 01
function grow(arr) {
let result = 1;
for (let i = 0; i < arr.length; i++) {
result *= arr[i];
}
return result;
}
grow([1, 2, 3, 4]); // 24
grow([2, 2, 2, 2]); // 16
Solution 02
function grow(arr) {
let result = arr[0];
for (let i = 1; i < arr.length; i++) {
result *= arr[i];
}
return result;
}
grow([1, 2, 3, 4]); // 24
grow([2, 2, 2, 2]); // 16
Solution 03
function grow(arr) {
return arr.reduce((result, i) => result * i, 1);
}
grow([1, 2, 3, 4]); // 24
grow([2, 2, 2, 2]); // 16
reduce()
메소드배열을 하나의 값으로 줄이고, 그 값을 반환한다.