我正在考虑尝试自己实现map
函数。
到目前为止,我的代码如下:
Array.prototype.mapz = function (callback) {
let arr = []
for (let i = 0; i < array.length; i++) {
arr.push(callback(array[i]));
}
return arr;
};
function double(arg) {
return arg * 2
};
const x = [1, 2, 3].mapz(double);
console.log(x); // This should be [2, 3, 6];
我想知道如何在mapz
方法中访问要映射的数组?
答案 0 :(得分:2)
您可以使用this
访问。
Array.prototype.mapz = function (callback) {
let arr = [];
for (let i = 0; i < this.length; i++) {
arr.push(callback(this[i]));
}
return arr;
};
function double(arg) {
return arg * 2;
}
const x = [1, 2, 3].mapz(double);
console.log(x);
答案 1 :(得分:1)
使用this
键来访问函数内部的数组:
Array.prototype.mapz = function(callback) {
const arr = []
for (let i = 0; i < this.length; i++) {
arr.push(callback(this[i]));
}
return arr;
};
const x = [1, 2, 3].mapz(value => value * 2);
console.log(x);
答案 2 :(得分:0)
您可以简单地使用this
Array.prototype.mapz = function (callback) {
let arr = []
for (let i = 0; i < this.length; i++) {
arr.push(callback(this[i]));
}
return arr;
};
答案 3 :(得分:0)
您可以使用this
关键字来访问数组
Array.prototype.mapz = function (callback) {
let arr = []
for (let i = 0; i < this.length; i++) {
arr.push(callback(this[i]));
}
return arr;
};
function double(arg) {
return arg * 2
};
const x = [1, 2, 3,5].mapz(double);
console.log(x)