3 回答

TA贡献1900条经验 获得超5个赞
将您的功能更改map为:
function map(array, callback) {
let newArr = []
forEach(array, (value) => newArr.push(callback(value)));
return newArr;
}

TA贡献1856条经验 获得超11个赞
您只需要编写return array.map(callback);
它就可以了。
由于Array.prototype.map() map
接受callback
asparameter
并且您已经具有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]
添加回答
举报