C S*_*per -1 javascript reactjs
我有下面的示例 javascript 数组对象 -
[ {id:"B1",name:"Belacost",group:"Quim"},
{id:"B1",name:"Medtown",group:"Bik"},
{id:"B1",name:"Regkim",group:"Dum"},
{id:"C1",name:"CSet",group:"Core"},
{id:"D1",name:"Merigo",group:"Dian"},
{id:"D1",name:"Chilland",group:"Ground"},
{id:"N1",name:"Fiwkow",group:"Vig"},
]
Run Code Online (Sandbox Code Playgroud)
在这个数组中,如果重复,我想将 id 设为空。
Eg. [ {id:"B1",name:"Belacost",group:"Quim"}, //id is here since this is first time
{id:"",name:"Medtown",group:"Bik"}, //id is blank since we already have B1
{id:"",name:"Regkim",group:"Dum"},
{id:"C1",name:"CSet",group:"Core"},
{id:"D1",name:"Merigo",group:"Dian"}, // id is here since D1 is first time
{id:"",name:"Chilland",group:"Ground"}, //id is empty since we already have id D1
{id:"N1",name:"Fiwkow",group:"Vig"},
]
Run Code Online (Sandbox Code Playgroud)
我尝试通过 map 实现它,但找不到重复 id。
使用reduce方法
const list = [ {id:"B1",name:"Belacost",group:"Quim"},
{id:"B1",name:"Medtown",group:"Bik"},
{id:"B1",name:"Regkim",group:"Dum"},
{id:"C1",name:"CSet",group:"Core"},
{id:"D1",name:"Merigo",group:"Dian"},
{id:"D1",name:"Chilland",group:"Ground"},
{id:"N1",name:"Fiwkow",group:"Vig"},
]
const result = list.reduce((acc, item ) => {
const isExisting = acc.some(i => i.id === item.id)
if(isExisting){
return [...acc, {...item, id: ""}]
}
return [...acc, item]
}, [])
console.log(result)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |