概述
map() 方法返回一個由原數(shù)組中的每個元素調用一個指定方法后的返回值組成的新數(shù)組,map 不修改調用它的原數(shù)組本身
語法
array.map(callback[, thisArg])
注意
使用 map 方法處理數(shù)組時,數(shù)組元素的范圍是在 callback 方法第一次調用之前就已經(jīng)確定了盈匾。在 map 方法執(zhí)行的過程中:原數(shù)組中新增加的元素將不會被 callback 訪問到蔑担;若已經(jīng)存在的元素被改變或刪除了颗管,則它們的傳遞到 callback 的值是 map 方法遍歷到它們的那一時刻的值迄埃;而被刪除的元素將不會被訪問到蟀架。
var animals = [
{name: 'Fluffykins', species: 'rabbit'},
{name: 'Caro', species: 'dog'},
{name: 'Hamilton', species: 'dog'},
{name: 'Harold', species: 'fish'},
{name: 'Ursula', species: 'cat'},
{name: 'Jimmy', species: 'fish'}
];
// 提取出animals中的全部name
// 使用for循環(huán)編寫
var names = [];
for(var i = 0; i < animals.length; i++) {
names.push(animals[i].name);
}
// 使用map重寫
var names = animals.map(function(animal){
return animal.name;
});
// 使用es6重寫
var names = animals.map((animal) => animal.name);
console.log(names);
// 輸出如下:
// [ 'Fluffykins', 'Caro', 'Hamilton', 'Harold', 'Ursula', 'Jimmy' ]