问:将一个数组arr  , id 有三种状态,把id为null 的和id相同的第一个对象放在一个新的数组里 ,arr中(除id相同的第一个对象)id相同的后几个对象放在id相同的第一个对象的list中

arr = [{id: 1,list: []}, {id: 1,list: []}, {id: 1,list: []}, {id: 2,list: []}, {id: 2,list: []}, {id: 2,list: []}, {id: 3,list: []}, {id: 3,list: []}, {id: 3,list: []}, {id: null,list: []}, {id: null,list: []}, {id: null,list: []}, {id: null,list: []},
],

js上代码

            let obj = {}arr.forEach((item)=>obj[item.id]=item)let a = []for(let key in obj){if(obj[key].id !== null){a.push(obj[key])}}let b = afor(var j = 0 ; j<a.length ; j++){for(var i = 0 ; i<arr.length;i++){if(arr[i].id == a[j].id){b[j].list.push(this.arr[i])}}}for(var i = 0 ; i<arr.length;i++){if(arr[i].id == null){b.push(arr[i])}}for(var s = 0 ; s<b.length;s++){if(b[s].id != null){b[s].list.pop()}}

最后console.log(b)打印出来的结果就是想要的值啦

js数组去重组成新的数组相关推荐

  1. 著名面试题: 如何实现数组去重? 假设有数组 array = [1,5,2,3,4,2,3,1,3,4] 你要写一个函数 unique,使得 unique(array) 的值为 [1,5,2,3,4]

    著名面试题: 如何实现数组去重? 假设有数组 array = [1,5,2,3,4,2,3,1,3,4] 你要写一个函数 unique,使得 unique(array) 的值为 [1,5,2,3,4] ...

  2. js 去重某个键值 数组对象_js数组去重(包括对象数组去重)

    2019.08.02补: 对象数组建议直接循环然后使用工具库(lodash)的深比较,评论里也有指出,文章的方法有些取巧了 生产环境不要这么玩~. 方法一:利用ES6的Array.from()/扩展运 ...

  3. 前端JS数组问题: 数组去重, 字符串分割成数组, 数组拼接成字符串

    1. 数组去重: Array.from(new Set(arr_name)) let arr1 = ['张三','李四','王五','李四','赵六','张三'];let arr2 = Array.f ...

  4. isset php 二维数组_php 数组去重,一维数组去重,二维数组去重

    php 数组去重 一维数组 方法1: array_unique($mobile_array); 方法2: $mobile_array = array_flip($mobile_array); $mob ...

  5. python 多维数组去重_python多维数组运算-女性时尚流行美容健康娱乐mv-ida网

    自动秒收录 如何加入 (当前页) 购买本站源码 自媒体交流 查询是否收录 查询收录 × 快速加入 只要做上本站的友情链接,并在您站上点击一次,就免人工自动收录!并自动排在本站第一位. 本站已收录286 ...

  6. php 数组降维,php 数组去重的方法参考(一维数组去重、二维数组去重)

    本文介绍下,对php数组去除重复的方法,包括一维数组的去重.二维数组的去重.有需要的朋友参考下. 首先,来看一维数组重复项的去除方法. 使用array_unique函数,例如: 输出结果: Array ...

  7. php数组去重的函数,php数组去重函数的简单示例

    这篇文章主要为大家详细介绍了php数组去重函数的简单示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 代码如下: /* 512笔记 www.512P ...

  8. jquery数组去重:纯数字数组去重,forEach判断数组是否含有该字段,单个数组通过某个字段名去重value值,多个数组合并同时根据某个字段进行去重

    纯数字数组去重 const numbers = [1, 1, 20, 3, 3, 3, 9, 9]; const uniqueNumbers = [...new Set(numbers)] //输出u ...

  9. java数组去重方法是,java数组去重的两种方法

    我们对于数组元素的使用,有时候在创建数组的初期,并没有考虑过元素的重复问题.当我们想要不重复元素的数组时,就要再进行一步去重的工作.数组的去重有两种方法可以实现,一个是循环比较,另一个是hashSet ...

最新文章

  1. 转:TestLink1.9.3测试用例:Excel转换XML工具二实现代码
  2. Java中测长函数_Core Java测试题
  3. GDCM:gdcm::Rescaler的测试程序
  4. jupyter notebook使用opencv的例子_Python安装Jupyter Notebook配置使用教程
  5. java显示一个钟表_中秋团圆日,月相表来一个呗~
  6. android 资源文件获取啥退,重拾Android之路之获得各种资源文件的方法
  7. 1.14 日志(递推ybtoj)
  8. 漫画:如何实现大整数相加
  9. python没有联网_无网环境下的 Python 开发指南
  10. type或者xtype总结
  11. 【Qt教程】1.1 - Qt5.12.9 安装
  12. ​​​​​​​CUDA ---- Shared Memory
  13. 我私藏的一个超级无敌好用的 Java 工具类库
  14. 单纯学python能干啥_如何高效学习Python编程,转行的朋友可以过来看看,单纯的经验分享...
  15. SSL/TLS中的DH算法、DHE算法、 ECDHE算法介绍
  16. cache文件夹可以删除吗
  17. MediaWiki 在 CentOS 下的安装使用
  18. GTK GDK 事件 信号
  19. MATLAB打开后一直在初始化,或者初始化很慢问题
  20. 转战 GithubPages

热门文章

  1. pika.exceptions.ChannelWrongStateError: Channel is closed.
  2. 设计模式9——迭代器和组合模式
  3. 【渝粤题库】陕西师范大学600009 化学教学论 作业(专升本)
  4. 社区有奖任务六步走,共庆51CTO六周年!『51CTO六周年庆』(已结束)
  5. 小明用Python开发一个 【暴力破解压缩文件zip密码】,省了250块钱!
  6. python hasattr函数_Python的hasattr() getattr() setattr() 函数使用方法详解
  7. 湖北潜江中专计算机学校,潜江中专学校,潜江中专学校排行,潜江中专学校都有哪些 - IT教育频道...
  8. ansible实战应用系列教程2:ansible介绍
  9. 掉价最快的手机排行榜_目前降价最厉害的四款手机,每款都是超高性价比,你入手了吗?...
  10. word中,页眉上的黑色横线要怎么删除?