数组中的对象1的id等于对象2中的ip 就将对象2插入到对象1中 效果图如下

        { name: "张三", id: "1", ip: "1" },
        { name: "李四", id: "4", ip: "1" },
        { name: "王五", id: "7", ip: "1" },
        { name: "麻子", id: "9", ip: "8" },
        { name: "小明", id: "6", ip: "9" }

img

哈喽,有用请采纳

let arr = [
  { name: "张三", id: "1", ip: "1" },
  { name: "李四", id: "4", ip: "1" },
  { name: "王五", id: "7", ip: "1" },
  { name: "麻子", id: "9", ip: "8" },
  { name: "小明", id: "6", ip: "9" }
]
let res = []
for(let x=0;x<arr.length;x++){
  let obj = arr[x]
  obj.list = []
  if(arr[x].hasSame){
    continue;
  }
  for(let y=x+1;y<arr.length;y++){
    if(arr[x].id === arr[y].ip){
      obj.list.push(JSON.parse(JSON.stringify(arr[y])))
      arr[y].hasSame = true
    }
  }
  res.push(obj)
}
console.log(res);

let arr1 = [{name:"张三",id:"1",ip:"1"},{name:"李四",id:"4",ip:"1"},{name:"王五",id:"7",ip:"1"},{name:"麻子",id:"9",ip:'8'},{name:"小明",id:"6",ip:"9"}];
let temp = JSON.parse(JSON.stringify(arr1));
arr1.forEach(v=>{
var list = temp.filter(v1=>{return (v1.ip===v.id && v1.id!==v.id)}); 
if(list.length>0){v.list= list;}
});