let infoArr = [
{
name: 'zhangsan',
age: 28,
job: 'teacher',
address: 'chongqing'
},
{
name: 'lisi',
age: 32,
job: 'doctor',
address: 'chongqing'
},
{
name: 'wangwu',
age: 28,
job: 'police',
address: 'chengdu'
},
{
name: 'zhaoliu',
age: 26,
job: 'farmer',
address: 'chongqing'
},
{
name: 'qianqi',
age: 21,
job: 'doctor',
address: 'chengdu'
},
];
想要从上面的infoArr对象数组中根据address属性来对该数组进行一个分类,并生成一个新数组
代码实现:
const newArr = [];
const tempArr = [];
for (let i = 0; i < infoArr.length; i++) {
if (tempArr.indexOf(infoArr[i].address) === -1) {
newArr.push({
address: infoArr[i].address,
valList: [infoArr[i]]
});
tempArr.push(infoArr[i].address);
} else {
for (let j = 0; j < newArr.length; j++) {
if (newArr[j].address === infoArr[i].address) {
newArr[j].valList.push(infoArr[i]);
}
}
}
}
console.log(newArr);
打印效果