我有一個包含對象的數組,每個對象都有唯一的ID。我需要根據它們的ID分離這些對象,並創建包含僅具有相同ID的對象的新數組。在陣列中分離對象並按每個ID在新陣列中按ID排序
這是我迄今爲止..
let fullArray = [{
name: 'John',
id: 1
}, {
name: 'Lucy',
id: 1
}, {
name: 'Tyler',
id: 2
}];
function separateObjectsInArray(fullArray) {
let newArr = [];
fullArray.map((each) => {
newArr.push(each.id);
});
let uniqueIdArr = [...new Set(newArr)];
fullArray.map((eachObj) => {
uniqueArr.map((uniqueId) => {
if (eachObj.id === uniqueId) {
//CREATE NEW ARRAYS WITH MATCHING ID'S
}
})
})
}
separateObjectsInArray(fullArray);
正如你可以看到我第一次映射出對象的數組,然後創建了ID的數組,然後拿出任何重複(uniqueIdArr) 後來我再次映射fullArray並將每個對象的ID與ID的uniqueIdArr進行比較。我堅持如何告訴它爲每個ID創建一個數組並推送匹配對象。
let finalArray1 = [{
name: 'John',
id: 1
}, {
name: 'Lucy',
id: 1
}];
let finalArray2 = [{
name: 'Tyler',
id: 2
}];
甚至一個數組的陣列也可以!
let finalArray = [[{name: 'Tyler', id: 2 }], [{ name: 'John', id: 1},{
name: 'Lucy', id: 1 }]];
sortedArr = finalArray.sort(function(a,b){return b.id-a.id}); – ControlAltDel
*我有一個包含對象的數組,每個對象都有一個唯一的ID *,然後*創建包含僅具有相同ID的對象的新數組* - 這些東西中的一個不像其他的:) – tymeJV