3 回答

TA貢獻1900條經(jīng)驗 獲得超5個贊
將您的功能更改map為:
function map(array, callback) {
let newArr = []
forEach(array, (value) => newArr.push(callback(value)));
return newArr;
}

TA貢獻1788條經(jīng)驗 獲得超4個贊
問題出在forEach(array, newArr.push(callback));
. 嘗試將第二個參數(shù) , 包裝newArr.push(callback)
在箭頭函數(shù)表達式中。結(jié)果行將是forEach(array, () => newArr.push(callback));
.
這是一個工作示例。查看控制臺日志。
祝你好運!

TA貢獻1856條經(jīng)驗 獲得超11個贊
您只需要編寫return array.map(callback);
它就可以了。
由于Array.prototype.map() map
接受callback
asparameter
并且您已經(jīng)具有callback
as 功能parameter
。你需要做的就是return array.map(callback);
。
同樣,您可以使用Array.prototype.forEach()。但forEach
不返回任何東西,所以你不能寫return array.forEach(callback);
。取而代之的是,您需要將其用作array.forEach(callback);
.
function forEach(array, callback) {
array.forEach(callback);
}
function map(array, callback) {
return array.map(callback);
}
console.log(typeof forEach); // should log: 'function'
forEach(['a', 'b', 'c'], i => console.log(i)); // should log: 'a', 'b', 'c'
console.log(typeof map); // should log: 'function'
console.log(map([3, 4, 5], n => n - 2)); // should log: [1, 2, 3]
添加回答
舉報