定义:对数组中的每个元素进行处理,得到新的数组;
特点:不改变原有数据的结构和数据
const array = [1, 3, 6, 9];
const newArray = array.map(function (value) {
return value + 1;
});
console.log(newArray);
console.log(array);
还有一种另外的写法,使用箭头函数
const array = [1, 3, 6, 9];
const newArray = array.map(() => {return value + 1 });
console.log(newArray);
console.log(array);
结果:
[2, 4, 7, 10]
[1, 3, 6, 9]
类似方法: for in , for , foreach
const newArray2 = [];
for (var i in array) {
newArray2.push(array[i] + 1);
}
const newArray3 = [];
for (var i = 0; i < array.length; i++) {
newArray3.push(array[i] + 1);
}
const newArray4 = [];
array.forEach(function (key) {
newArray4.push(key * key);
})
console.log(newArray2);
console.log(newArray3);
console.log(newArray4);
console.log(array);
结果:
[2, 4, 7, 10]
[2, 4, 7, 10]
[2, 4, 7, 10]
[1, 3, 6, 9]
对比:
1、.map()方法使用return,进行回调;其他方法可不需要。
2、.map()方法直接对数组的每个元素进行操作,返回相同数组长度的数组;其他方法可扩展数组的长度。
3、. map() 不会对空数组进行检测。