// 定义一个数组
var arr = ["吴洋", "董成", "马二", "李双双"];
// 在每一个同学的前面添加文案
var result = arr.map(function(value, index, arr) {
console.log(this, arguments);
return "二十二期" + value;
})
console.log(result);
/**
* map方法
* @arr 要遍历的数组
* @fn 要执行的函数
* return 新的成员组成的数组
***/
function map(arr, fn) {
// 定义结果容器数组
var result = [];
// 遍历数组
for (var i = 0; i < arr.length; i++) {
// 执行函数并传递三个参数
// 成员值: arr[i] 索引值: i 原数组: arr
result.push(fn(arr[i], i, arr));
}
// 遍历完成之后, 返回新的数组
return result;
}
var result = map(arr, function(value, index, arr) {
console.log(this, arguments);
return "二十二期" + value;
})
console.log(result);
// 兼容IE
if (!Array.prototype.map) {
// 添加该方法
Array.prototype.map = function(fn) {
// 定义结果容器数组
var result = [];
// 遍历数组,就是遍历this
for (var i = 0; i < this.length; i++) {
// 执行函数并传递三个参数
// 成员值: this[i] 索引值: i 原数组: this
result.push(fn(this[i], i, this));
}
// 遍历完成之后, 返回新的数组
return result;
}
}
var result = arr.map(function(value, index, arr) {
console.log(this, arguments);
return "二十二期" + value + "同学";
})
alert(result);