我有一个包含对象的数组,每个对象都有一个唯一的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);
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我首先绘制出对象数组,然后使用ids创建一个数组,然后取出任何重复项(uniqueIdArr).之后,我再次映射fullArray并将每个对象的ID与ID的uniqueIdArr进行比较.我坚持如何告诉它为每个ID创建一个数组并推送匹配的对象.
let finalArray1 = [{
name: 'John',
id: 1
}, {
name: 'Lucy',
id: 1
}];
let finalArray2 …Run Code Online (Sandbox Code Playgroud)