Chúng ta cần viết một hàm nhận một mảng các số làm đối số duy nhất. Các số ở chỉ số chẵn giữ nguyên, còn các số ở chỉ số lẻ sẽ được nhân với chỉ số tương ứng của chúng.
Ví dụ:
Nếu đầu vào là: [5, 10, 15, 20, 25, 30, 50, 100]Thì hàm sẽ trả về: [5, 10, 15, 60, 25, 150, 50, 700]
Chúng ta sẽ dùng Array.prototype.reduce() để xây dựng mảng kết quả:
Ví dụ
const arr = [5, 10, 15, 20, 25, 30, 50, 100];const multiplyOdd = (arr) => { return arr.reduce((acc, val, ind) => { if (ind % 2 === 1) { val *= ind; } return acc.concat(val); }, []);};console.log(multiplyOdd(arr));Kết quả
Đầu ra trong console sẽ là:
[ 5, 10, 15, 60, 25, 150, 50, 700 ]