我試圖映射兩個數組,在我的代碼創建一個全新的陣列如何在我的情況下,兩個陣列映射
我有類似
var array1 =[
{'name':'John'
'id': '1'},
{'name':'Ted'
'id': '2'},
{'name':'KK'
'id': '3'}
];
var array2 =[1, 2];
var info = [];
for (var i = 0; i <array2.length; i++){
var id = array2[i];
var p = array1.filter(function(person){
return id === person.id
})
info.push(p)
}
我想我info
數組包含John和泰德喜歡
[
{'name':'John'
'id': '1'},
{'name':'Ted'
'id': '2'}
]
,而是,我
[
[
{'name':'John'
'id': '1'}
],
[
{'name':'Ted'
'id': '2'}
]
]
我不知道我做錯了什麼。無論如何,我可以改進我的代碼,以便更充分?非常感謝!
您應該修復花式引號 – j08691
您的代碼是從內到外的。在'filter'內循環'array2',或者更好地使用'indexOf'或'some'。 – 1983