数组方法: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]
原文地址:https://www.cnblogs.com/yxkNotes/p/11549843.html