数组方法:map()和foreach()用法区别
1.foreach.用法详解
//forEach使用姿势一:
var numbers = [1, 2, 3, 4, 5],
sum = 0;
numbers.forEach(function(item) {
sum += item;
});
console.log(sum); //结果:15
//forEach使用姿势二:
var numbers = [1, 2, 3, 4, 5],
sum = 0;
function adder(item) {
sum += item;
}
//直接调用adder函数,注意不加括号
numbers.forEach(adder);
console.log(sum); //结果:15
注意:map和forEach区别是:map有返回值而且必须return返回一个数组才行,而forEach没有返回值可直接打印结果。
2.map()用法详解
注:map需要返回值,如果不给return,默认返回undefined,map返回的是一个新数组。
应用场景1:假定有一个数值数组A,将A数组的数值以双倍的形式放到B数组。
var numbers = [1, 2, 3];
var newNumbers1 = numbers.map(function(item) {
return item * 2;
});
console.log(newNumbers1); // 结果:[2,4,6]
应用场景2:假定有一个对象数组A,将A数组中对象某个属性的值存储在B数组中。
var cars = [
{
model: "mini",
price: 200
},
{
model: "nio",
price: 300
}
];
var prices = cars.map(function(item) {
return item.price;
});
console.log(prices); //结果:[200, 300]

浙公网安备 33010602011771号