接个吻. 2023-01-29 14:59 采纳率: 93.1%
浏览 76
已结题

javascript的数组怎么去重

数组里面怎么去重这种引用数据类型?多个数组一样了。

img

上面不好处理可以指点一下怎么从下图的数据中得到正确的分组,以parent属性为条件分组,分组之后的数据只有value的值放在新的数组里面,大概和上面的数据一样,只是上面的数据好几个数组相同数据了。

img

  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2023-01-29 15:18
    关注
    
        let list = [
            { value: null, parent: null },
            { value: '682395', parent: null },
            { value: '971824', parent: null },
            { value: '891628', parent: null },
            { value: '276312', parent: null },
            { value: '785312', parent: '682395' },
            { value: '981726', parent: '682395' },
            { value: '217241', parent: '785312' },
            { value: '783102', parent: '785312' },
            { value: '412842', parent: '981726' },
        ]
        let newlist = [];
        let kv = {};//记录parent值对应的newlist中下标
        for (let item of list) {
            if (kv[item.parent] === undefined) {
                kv[item.parent] = newlist.length;
                newlist.push([]);
            }
            newlist[kv[item.parent]].push(item.value)
        }
        console.log(list,newlist)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 2月6日
  • 已采纳回答 1月29日
  • 创建了问题 1月29日

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料