我有一个函数,它接受一个对象数组和一个表示属性的字符串。该函数应返回包含每个对象的该属性的数组。
以下是我的示例代码:
function pluck(array, property) {
var newArr = [];
array.map(function(paints){
return newArr.push(paints[property]);
});
return newArr;
}
这将返回一个新数组并且它可以工作。但是当函数将一个对象数组作为参数之一时......在map方法中传递给匿名迭代器函数的是什么?密钥的值?
如何使用map方法迭代对象数组?
答案 0 :(得分:1)
您的问题的评论解释了代码中发生的事情。
当您在数组上调用map时,映射函数会提供3个参数,这些参数始终使用,有时很少按此顺序使用。
const result = items.map(function(element, index, items) {
// do the mapping
});
依次为原始数组items
的每个元素调用该函数,并将函数的结果放在result
数组的相同索引位置。
函数参数是:
你的拔毛功能可以写成:
function pluck(arr, prop) {
return arr.map(item => item[prop]);
}