鍍金池/ 問答/HTML/ 如何用精煉的語句將數(shù)組對象中的值提取出來?

如何用精煉的語句將數(shù)組對象中的值提取出來?

假設(shè)有一個數(shù)組類型的對象

var list = [{
    id:'12345',
    name:'john'
},{
    id:'67890',
    name:'tom'
}];

現(xiàn)在我想把這個list中每個object的id提取出來組成一個新的數(shù)組:['12345','67890']
平時采用的寫法都是

var r = [];
list.forEach(item => r.push(item.id));

發(fā)現(xiàn)每次操作都要先聲明一個數(shù)組,感覺比較麻煩,請問有沒有簡練的語法能夠直接返回一個
已經(jīng)格式化的數(shù)組?

回答
編輯回答
離觴

map函數(shù)好一些

var list = [{
    id:'12345',
    name:'john'
},{
    id:'67890',
    name:'tom'
}];

var new_array = list.map((it) => {return it.id});

console.log(new_array);

輸出

[ '12345', '67890' ]
2017年10月17日 03:38
編輯回答
舊酒館

利用數(shù)組的高階函數(shù),直接對數(shù)組處理并返回結(jié)果。這里mapreduce都可以滿足要求,map相對簡單
https://developer.mozilla.org...

const result = list.map(({ id }) => id)
2018年5月5日 10:12