window.onload = () => {
const data = [
{'id': '1001', 'name': '值1', 'value': '111'},
{'id': '1001', 'name': '值1', 'value': '11111'},
{'id': '1002', 'name': '值2', 'value': '25462'},
{'id': '1002', 'name': '值2', 'value': '23131'},
{'id': '1002', 'name': '值2', 'value': '2315432'},
{'id': '1003', 'name': '值3', 'value': '333333'}
]
function objectUniqueForKey(arr){
const map = {}
const dest = []
for (let i = 0; i < arr.length; i++) {
const ai = arr[i]
if (!map[ai.id]) {
dest.push({
id: ai.id,
data: [ai]
})
map[ai.id] = ai
} else {
for (let j = 0; j < dest.length; j++) {
const dj = dest[j]
if (dj.id === ai.id) {
dj.data.push(ai)
break
}
}
}
}
return dest
}
console.log(JSON.stringify(objectUniqueForKey(data)))
}
console