const array = [{ userId: 12277, a: "0.55", nona: "0.33" }, { userId: 10253, a: "0.65", nona: "0.38" }, { userId: 12277, a: "0.58", nona: "0.36" }, { userId: 10253, a: '0.82', nona: '0.18' }]
const idList: any = [] // 存放userId
const newArray: any = [] // 新数组
for (let i = 0; i < array.length; i++) {
// 循环array数组
if (idList.indexOf(array[i].userId) === -1) {
// 将第一次出现的userId存到idList
idList.push(array[i].userId)
// 第一次出现的userId没有重复,所以该项(array[i])存进newArray
newArray.push(array[i])
} else {
// 出现重复的userId
// 将此项覆盖掉newArray内相同userId的那一项
newArray.splice(idList.indexOf(array[i].userId), 1, array[i])
}
}
console.log(idList, newArray, { ...newArray })
输出: