var s = [23, 65, 98, 5];
Array.prototype.myMap = function (callback) {
var newArray = [];
this.forEach(function (a) {
return newArray.push(callback(a));
});
return newArray;
};
var new_s = s.myMap(function (item) {
return item * 2;
});
myMap
是我们定义的函数,它具有一个称为callback
的参数myMap
内部是一个forEach
,它对每个数组元素执行一次功能。这行我听不懂
return newArray.push(callback(a));
所以push()
至newArray
MDN push():-https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push
但是push()
仅接受一个参数。那么为什么我们有.push(callback(a))
为什么不只是.push(a)
?
但是push()仅接受一个参数。那么为什么会有.push(callback(a))
callback(a)
的返回值是仅一个参数。
为什么不只是.push(a)?
映射点是获取数据数组并创建一个新数组,在其中以某种方式每个项目都已转换。
如果您不通过回调函数传递a
,则不会对其进行转换,而只是进行浅表复制。
语法push(callback(a))
表示:
push()
本身接受一个参数,一个回调,它...