找出下面數組中,name相同的項
let arr = [
{name:'小明',age:12,height:88},
{name:'小明2',age:12,height:58},
{name:'小明4',age:12,height:28},
{name:'小明',age:12,height:88},
{name:'小明',age:12,height:88},
{name:'小紅',age:12,height:88},
{name:'小紅',age:12,height:88},
{name:'小黃',age:12,height:88},
{name:'小黃',age:12,height:88},
{name:'小紅',age:12,height:88},
]
let same = []
for(let i = 0 ; i < arr.length; i++) {
for(let j = 1; j < arr.length; j++) {
if(arr[i].name === arr[j].name && i!==j) {
let validate = {
isHas: false,
index:null
}
same.forEach((item,index)=>{
if(item.name===arr[i].name){
validate.isHas = true;
validate.index = index;
}
})
if(validate.isHas){
let sameItem = same[validate.index];
sameItem.index = [...new Set([...sameItem.index,i,j])]
}else{
same.push({name:arr[i].name,index:[i,j]})
}
}
}
}
console.log(same)