es6的map()方法解釋
map方法的作用不難理解,即“映射”,也就是原數組被“映射”成對應新數組。下面這個例子是數值項求平方:
var data = [1, 2, 3, 4];
var arrayOfSquares = data.map(function (item) {
return item * item;
});
alert(arrayOfSquares); // 1, 4, 9, 16
callback需要有return值,如果沒有,就像下面這樣:
var data = [1, 2, 3, 4];
var arrayOfSquares = data.map(function() {});
arrayOfSquares.forEach(console.log);
數組所有項都被映射成了undefined:
在實際使用的時候,我們可以利用map方法方便獲得對象數組中的特定屬性值們。例如下面這個例子(之后的兼容demo也是該例子):
var users = [
{
name: "張XX", "email": "zhang@email.com"},
{
name: "江XX", "email": "jiang@email.com"},
{
name: "李XX", "email": "li@email.com"}
];
var emails = users.map(function (user) { return user.email; });
console.log(emails.join(",")); // zhang@email.com, jiang@email.com, li@email.com