獲取數組對象中某一屬性值的集合

之前在工作中遇到了將數組對象中的某一個屬性值提取出來的需求,當時是利用foreach循環然後放入數組中的,後來發現一些簡單的方法如下。

一、from方法

var user = [
 	{
         id: 1,
         name: "李四"
     },
     {
         id: 2,
         name: "張三"
     },
     {
         id: 3,
         name: "李五"
     }
 ]
var userName = Array.from(user,({name})=>name);
console.log(userName); // ["李四", "張三", "李五"]

二、map方法

var userName = user.map((item)=>{
	return item.name;
})
console.log(userName); // ["李四", "張三", "李五"]

三、foreach 方法

var userName = [];
user.forEach((item)=>{
    userName.push(item.name);
})
console.log(userName); // ["李四", "張三", "李五"]

map方法抽取成公共方法

function getAttrs(array,attr) {
    var arr = array.map((item)=>{
        return item[attr];
    })
    return arr;
}
console.log(getAttrs(user,'id')); //  [1, 2, 3]
console.log(getAttrs(user,'name')); //  ["李四", "張三", "李五"]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章