很简单的功能,下面直接贴上代码
const dataArray = [
{ id: 1, value: '值1', text1: '文本一' },
{ id: 2, value: '值2', text1: '文本二' },
{ id: 3, value: '值3', text1: '文本三' },
{ id: 1, value: '值4', text1: '文本四' },
{ id: 2, value: '值5', text1: '文本五' }
]
// 按数数据字段进行分组
classify(array) {
let map = {}
let myArray = []
array.forEach((item, index) => {
console.log('map', map)
if (!map[array[index].id]) {
myArray.push({
id: array[index].id,
data: [array[index]]
})
map[array[index].id] = array[index]
} else {
myArray.forEach((bitem, bindex) => {
if (array[index].id === myArray[bindex].id) {
myArray[bindex].data.push(array[index])
}
})
}
})
return myArray
}
console.log('aaaaa', classify(dataArray))
打印的内容如下: