Vấn đề
Chúng ta cần viết một hàm JavaScript nhận vào một hàm callback (nhận hai đối số và trả về giá trị) làm đối số đầu tiên và hai mảng có độ dài cơ bản giống nhau làm đối số thứ hai và thứ ba.
Hàm phải xây dựng và trả về một mảng mới mà mỗi phần tử tương ứng là giá trị trả về của hàm callback nếu cung cấp các số tương ứng của mảng đầu vào cho nó.
Ví dụ
Dưới đây là mã:
const arr1 = [1, 2, 3, 4];
const arr2 = [5, 6, 7, 8];
const add = (a, b) => a + b;
const applyFunction = (callback = () => {}, arr1 = [], arr2 = []) => {
const res = [];
arr1.forEach((num1, ind) => {
const num2 = arr2[ind];
res.push(callback(num1, num2));
});
return res;
};
console.log(applyFunction(add, arr1, arr2));
Kết quả
[6, 8, 10, 12]