我有一個數組和一個對象。我應該將Array值與對象鍵進行比較。如果兩者都匹配,我應該將對象的值推入數組中。比較陣列值與對象鍵,並將值設置爲數組
我用下面的邏輯實現了這個。
var arr = [{ "name": "Coal", "segmentId": null }, { "name": "Ash", "segmentId": null }];
var obj = {
"Ash": {
"October 2015": "66",
"segmentId": "66",
"December 2015": "435",
"November 2015": "34535"
},
"Coal": {
"October 2015": "23455",
"segmentId": "66",
"November 2015": "3454",
"December 2015": "345"
}
};
document.writeln("Original Array : " + JSON.stringify(arr));
for (var i = 0; i < arr.length; i++) {
var keys = Object.keys(obj);
for (var j = 0; j < keys.length; j++) {
if (arr[i].name === keys[j]) {
arr[i].segmentId = obj[keys[j]].segmentId;
}
}
}
document.writeln("Transformed Array : " + JSON.stringify(arr));
我想知道,是否有任何其他處理這種最好的方式或任何JS庫,使之簡單?
也許看看http://underscorejs.org/ – ergonaut
你可以創建jsfiddle嗎? –
請在這裏查看我們的提琴手[jsfiddler](http://jsfiddle.net/b3r75r8x/) –