數組方法: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]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM