fccc(){
let arr = [
{
id: 1,
name: '查娜',
age: 20
},
{
id: 2,
name: '查娜',
age: 20
},
{
id: 2,
name: '查娜',
age: 20
},
{
id: 3,
name: '查娜',
age: 20
},
{
id: 3,
name: '查娜',
age: 20
},
{
id: 3,
name: '查娜',
age: 20
},
{
id: 4,
name: '查娜',
age: 20
},
{
id: 4,
name: '查娜',
age: 20
},
]
let arr1 = arr.filter(item => {return item.id != 2})
//整体思路,将相同的合并成一个数组,组成一个二维数组,利用二维数组的index去修改id变量,达到删除递增的效果
let arr2 = []//二维数组合集
let marr = []
let index = arr1[0].id
arr1.forEach(el => {
if(el.id === index){
marr.push(el)
}else{
arr2.push(marr)
marr = []
marr.push(el)
index = el.id
}
})
//还剩最后一组没有push进去,所以在这加了个push
arr2.push(marr)
arr2.forEach((el,index) => {
el.forEach(e => {
e.id = index + 1
})
})
let arr3 = []
arr3 = arr3.concat(...arr2)//利用concat合并二维数组,还原
console.log(arr3)
},