let arr = [ {date: '2022-06-06', name:'张三', age: '18'}, {date: '2022-06-06', name:'李四', age: '25'}, {date: '2022-06-07', name:'王五', age: '34'}, {date: '2022-06-07', name:'张三', age: '18'}, {date: '2022-06-07', name:'小明', age: '38'}, {date: '2022-06-08', name:'王五', age: '34'}, {date: '2022-06-09', name:'小白', age: '24'} ]
//方法 let dataArr = []; arr.map(items => { if (dataArr.length == 0) { dataArr.push({ name: items.name, list: [items] }) } else { let res = dataArr.some(item=> {//判断相同名字,有就添加到当前项 if (item.name == items.name) { item.list.push(items) return true } }) if (!res) {//如果没找相同名字添加一个新对象 dataArr.push({ name: items.name, list: [items] }) } } })
console.log('输出结果', dataArr) //输出结果 //0: {name: '张三', List: Array(2)} //1: {name: '李四', List: Array(1)} //2: {name: '王五', List: Array(2)} //3: {name: '小明', List: Array(1)} //4: {name: '小白', List: Array(1)}
js数组内根据相同key合并,里面的数组也合并(兼容ie9/ie10浏览器)
上面是“js把一个数组根据相同名字合并成到子数组里”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_2164.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!