給出如下對象的數組:合併數組對象數組中
var objArray = [{'key': 'key1', 'fields': [1, 2]}, {'key': 'key2', 'fields': [3, 4]}];
我想獲得從場特性,並輸出合併項目的數組應該是1, 2, 3, 4
我已經試圖合併如下。我對我的解決方案不滿意,希望獲得反饋並改進我的解決方案。我是JS和打字稿的新手。我相信ES6的功能有更好的解決方案。 有人可以幫助改善我的解決方案嗎?
function mergeArraysFromObjectArray(objArray){
let allFields = [];
for (let obj of objArray) {
for (let propt in obj) {
if (obj.hasOwnProperty(propt) && propt === 'fields') {
allFields = allFields.concat(obj[propt]);
}
}
}
return allFields;
}
var objArray = [{'key': 'key1', 'fields': [1, 2]}, {'key': 'key2', 'fields': [3, 4]}];
let allMergedFields = mergeArraysFromObjectArray(objArray);
for(let i=0; i < allMergedFields.length; i++){
console.log(allMergedFields[i]); //prints - 1, 2, 3, 4
}
對於工作的代碼,你想回顧,見https://codereview.stackexchange.com/ –
檢查的答案是什麼,你到底要 –
我m投票結束這個問題作爲脫離主題,因爲它更適合https://codereview.stackexchange.com –