两个数组去重合并(数组去重的5种方法)

1、循环遍历去重

两个数组去重合并(数组去重的5种方法)

定义一个空数组,循环原数组,检测每一项是否在将新数组中,如果不在就将该项存储到新数组中。再循环新数组,将每一项还原为原来的类型,存入新的数组中,所得的新数组就是去重后得到数组。

const arr = [{ a: 1, b: 1 },true,0,1,null,undefined,true,false,1,{ a: 1, b: 1 },undefined,null,false,0],
           res1 = [];
arr.forEach((item) => {
      const str = JSON.stringify(item) + "";
      if (res1.indexOf(str) === -1) {
           res1.push(str);
       }
});
const res2 = res1.map((item) => {
         return item === undefined + "" ? undefined : JSON.parse(item);
});
console.log(res2); //  [{a: 1, b: 1},true,0,1,null,undefined,false]

2、利用对象的属性名的不重复型

本文转载自:https://www.gylmap.com

定义一个新的空对象,循环原数组,将每一项转换为字符串的值作为对象的属性名,每一项作为对象的属性值。然后遍历对象,将对象属性名对应的属性值都放入一个新建的数组中。所得的新数组就是去重后得到数组。

const arr = [{ a: 1, b: 1 },true,0,1,null,undefined,true,false,1,{ a: 1, b: 1 },undefined,null,false,0],
      obj={};
arr.forEach((item) => {
      const str = JSON.stringify(item) + "";
      obj[str]=item
});
const res = [];
Object.keys(obj).forEach((item) => {
        res.push(obj[item]);
});
console.log(res); //  [{a: 1, b: 1},true,0,1,null,undefined,false]

3、利用ES6中Set的特性

循环数组,将数组中的每一项转换为字符串,存入新的数组中。利用Set集合元素的唯一性去重得到set集合,再将得到的set集合转换为新的数组。再循环新数组将每一项还原为原来的类型,存入新的数组中,所得的新数组就是去重后得到数组。

const arr = [{ a: 1, b: 1 },true,0,1,null,undefined,true,false,1,{ a: 1, b: 1 },undefined,null,false,0],
           res1 = [];
arr.forEach((item) => {
      const str = JSON.stringify(item) + "";
      res1.push(str);
});
const set = new Set(res1);
const res2 = Array.from(set);
const res3 = res2.map((item) => {
         return item === undefined + "" ? undefined : JSON.parse(item);
});
console.log(res3); //  [{a: 1, b: 1},true,0,1,null,undefined,false]
秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(0)

大家都在看

  • 抖音怎么直播游戏(抖音怎么一边玩游戏一边直播)

    1、开播设置 打开抖音APP,点击“ ”,开直播功能,就出现在下方菜单最右侧,你可以根据直播内容,在最上方选择开播方式:视频直播 游戏直播 任你选择 2. 有趣的标题和好看的封面是…

    2022年4月3日
  • 铭影显卡质量怎么样(一线显卡品牌排行)

    还有2天,就进入到2022年的最后一个月了。不得不说这一年真是坎坷,新冠不讲武德,蛋壳不讲武德,显卡的价格也不讲武德。哎,到底苦的还是咱们老百姓啊! 纵使RTX 30系列显卡发布了…

    2022年5月9日 专栏投稿
  • 创业项目排行介绍,适合农村人有哪些创业项目

    现在国家的科技发展提高是非常的快,我们不仅可以在城市当中可以看出来,同样在农村当中同样可以看出来,很多人都去大城市当中进行工作,挣下钱了给我们的家里面盖上一个新的楼房,而在家里面的…

    2022年5月10日 专栏投稿
  • 除皱需要多少钱(童谋除皱多少钱)

    去年八月,长沙的欧女士花费了21998元,在长沙的一家医疗美容门诊部,实施了面部青春细胞激活术,希望改善自己的皱纹,没想到几个月过去,欧女士发现,怎么手术做完之后,皱纹还是很明显,…

    2022年5月19日 专栏投稿
  • 接吻的技巧和正确方式,绝对让男生腿软的接吻小窍门

    第一式:舔吻 用舌舔对方的上下唇,让对方感受舌部味蕾舔掠的感觉,注意要保持唾液的充份,如果唾液太少,干燥的舔吻会有不舒服的感觉。 第二式:咬吻 用牙齿轻咬对方的唇,但别咬的太用力,…

    2022年5月10日
  • 胡子怎么刮(胡子怎么刮才干净)

    对于电动剃须刀的问题,记者咨询了某商场剃须刀专柜销售经理季伟。 “选择剃须刀是讲究方法的,很多人觉得价钱贵就好,便宜就不好,也有人认为剃须刀其实都差不多。”季伟说,在他这里购买剃须…

    2022年5月8日
  • 强迫症怎么办(经颅磁刺激治疗强迫症有用吗)

    强迫症诊断不难,是治疗很难的一个心理疾病。很多人对强迫症没有认识,把一般的强制看作强迫症,带来了一些生活中的不愉快。因此,在讨论强迫症之前,先讨论一下强制。 第一、认识强制 初中有…

    2022年4月7日 专栏投稿
  • 视频怎么截屏(视频时能截屏吗)

    你竟然不知道超级截屏可以这么玩 “咔”三指下滑或音量“-”和电源键同时按下去,截屏就完成了。但是,除了这些最普通的截屏功能,你还能想到其它的保存当前界面的方式吗?今天就带大家玩出不…

    2022年4月5日 专栏投稿
  • 普洱怎么泡(生普冲泡方法)

    客来敬茶,体现的是主人对客人的热情招待之情,把握行茶节奏流畅、控制每一次出汤的浓度稳定,以及在恰当的时机更换茶叶,是每一位茶人必修的功课。 普洱生茶该如何冲泡 茶在入口前,最后一道…

    2022年5月10日 专栏投稿
  • 怎么调鱼漂(钓鱼浮漂的调整方法)

    各位钓友大家好,坚持写钓鱼相关的文章这段时间以来,接收到最多的问题基本是关于调漂的,其中大部分是新手,我觉得让新手少走弯路是我分享的最大乐趣和收获,所以一直以来,我发布了不少关于新…

    2022年4月18日 专栏投稿
品牌推广 在线咨询
返回顶部