I have below array and I want to get rid of duplicates
"additionalTabs": {
"Cost Tab 2": [
{
"entityID": 1,
"tabID": 2,
"sequenceNo": 1,
"isApproved": 0
},
{
"entityID": 2,
"tabID": 2,
"sequenceNo": 1,
"isApproved": 0
},
{
"entityID": 3,
"tabID": 2,
"sequenceNo": 1,
"isApproved": 0
},
{
"entityID": 2469,
"tabID": 2,
"sequenceNo": 1,
"isApproved": 1
}
],
"cost tab 4": [
{
"entityID": 3867,
"tabID": 53,
"sequenceNo": 4,
"isApproved": 0
},
{
"entityID": 3982,
"tabID": 53,
"sequenceNo": 4,
"isApproved": 0
},
{
"entityID": 4500,
"tabID": 53,
"sequenceNo": 4,
"isApproved": 0
}
]
}
In expected new array I want to get rid of repeated attributes like tabID and sequenceNo under objects Cost Tab 2 and cost tab 4. Any help will be appreciated. Thank you
Try this:
// Your original data
const additionalTabs = {
"Cost Tab 2": [
{
"entityID": 1,
"tabID": 2,
"sequenceNo": 1,
"isApproved": 0
},
{
"entityID": 2,
"tabID": 2,
"sequenceNo": 1,
"isApproved": 0
},
{
"entityID": 3,
"tabID": 2,
"sequenceNo": 1,
"isApproved": 0
},
{
"entityID": 2469,
"tabID": 2,
"sequenceNo": 1,
"isApproved": 1
}
],
"cost tab 4": [
{
"entityID": 3867,
"tabID": 53,
"sequenceNo": 4,
"isApproved": 0
},
{
"entityID": 3982,
"tabID": 53,
"sequenceNo": 4,
"isApproved": 0
},
{
"entityID": 4500,
"tabID": 53,
"sequenceNo": 4,
"isApproved": 0
}
]
}
// Example code to run through your object and delete the unwanted properties
const result = Object.entries(additionalTabs)
.reduce((prev, item)=>({
...prev,
[item[0]]:item[1].map(tabItem=>{
const newTabItem = {
...tabItem,
}
delete newTabItem.tabID
delete newTabItem.sequenceNo
return newTabItem
})
}),{})
result
The result:
{
'Cost Tab 2': [
{ entityID: 1, isApproved: 0 },
{ entityID: 2, isApproved: 0 },
{ entityID: 3, isApproved: 0 },
{ entityID: 2469, isApproved: 1 }
],
'cost tab 4': [
{ entityID: 3867, isApproved: 0 },
{ entityID: 3982, isApproved: 0 },
{ entityID: 4500, isApproved: 0 }
]
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.