此次对数组的操做,咱们使用es6的新语法来完成,因此在看下边代码以前,咱们要了解咱们下边要用到的es6中的set集合,和for...of 方法:javascript

首先介绍set集合:

ES6提供了新的数据结构Set,它相似于数组,可是成员的值都是惟一的,没有重复的值。java

Set函数能够接受一个数组(或相似数组的对象)做为参数,用来初始化。es6

注意:算法

向set加入值的时候,不会发生类型转变,因此 5 和 '5' 是两个不一样的值。Set内部判断两个值是否相同,用的是相似于 "==="的算法,可是区别是,在set内部认为NaN 等于 NaN ; json

Set实例的属性和方法:数组

Set结构的实例有如下属性。数据结构

Set.prototype.constructor:构造函数,默认就是Set函数。

Set.prototype.size:返回Set实例的成员总数。

Set实例的方法分为两大类:操做方法(用于操做数据)和遍历方法(用于遍历成员)。下面先介绍四个操做方法。函数

add(value):添加某个值,返回Set结构自己。

delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

has(value):返回一个布尔值,表示该值是否为Set的成员。

clear():清除全部成员,没有返回值。

Set内部的元素能够用 for...of 遍历。prototype

Array.from()方法能够将Set数据类型转化为数组类型。code

for...of 方法:

通俗一点的讲,就是遍历的是数组的元素值,须要深刻了解的同窗,请自行百度,这里就不赘述。

一、数组的合并去重

let arr1 = [3,5,2,3,6];

let arr2 = [5,2,4,6,8,7,9,2];

let arr = arr1.concat(arr2); //合并数组

let arrNew= new Set(arr); //经过set集合去重

console.log("arrNew",Array.from(arrNew)); //将set集合转化为数组

结果

二、数组对象的合并去重

let json1=[

{id:1,name:"aaa"},

{id:2,name:"bbb"},

{id:3,name:"ccc"},

]

let json2=[

{id:1,name:"aaa"},

{id:2,name:"bbb"},

{id:4,name:"ddd"},

]

let json = json1.concat(json2); //两个数组对象合并

let newJson = []; //盛放去重后数据的新数组

for(item1 of json){ //循环json数组对象的内容

let flag = true; //创建标记,判断数据是否重复,true为不重复

for(item2 of newJson){ //循环新数组的内容

if(item1.id==item2.id){ //让json数组对象的内容与新数组的内容做比较,相同的话,改变标记为false

flag = false;

}

}

if(flag){ //判断是否重复

newJson.push(item1); //不重复的放入新数组。 新数组的内容会继续进行上边的循环。

}

}

console.log("newJson",newJson);

结果

android两个数组对象去重合并,JS 数组,数组对象的合并去重方法相关推荐

  1. 【JS对象】打败JS原型、原型链大恶魔方法详解

    文章目录 什么是对象? 什么是面向对象? 创建对象的方式 原型是什么? __proto__属性 constructor属性 原型链 函数的定义类型有哪些? 函数也是一个对象 完整的原型链 打败恶魔第一 ...

  2. HTML怎么去除数组的重复元素,js去除数组中重复元素并排序

    /p> "http://www.w3.org/TR/html4/strict.dtd"> 003_obj //去掉数组中重复的元素 var arr=[1,2,2,3,3 ...

  3. html判断数组中存在不,js判断数组中是否已存在某个值,indexOf的使用说明

    indexOf()方法返回在该数组中的元素位置,如果它不存在则返回-1 //数组格式为[ "Name","LangShen","AGE",& ...

  4. html数组删除指定元素,JS实现数组删除指定元素功能示例

    本文实例讲述了JS实现数组删除指定元素功能.分享给大家供大家参考,具体如下: www.jb51.net JS数组删除指定元素 var array = ["111", "2 ...

  5. JS数组去重,JS根据数组里面的对象属性值去重

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 微信小程序开发交流qq群   173683895 js数组简单去重 var arr1 = [1, 2, 3, ...

  6. js字符串转对象 js对象转字符串 js字符串与对象互转

    上图为转换前后对比 平时页面链接传参为对象,我们需要转为字符串在传值,取值时又得转为对象,所以比较常用,就整理下吧! 对象转为字符串 JSON.stringify(obj) json字符串转为对象 J ...

  7. JQuery和原生JS遍历数组和对象的对比

    目录 1 遍历数组 1.1 JQuery遍历数组 1.2 原生JS遍历数组 2 遍历对象 2.1 JQuery遍历对象 2.2 原生JS遍历对象 1 遍历数组 1.1 JQuery遍历数组 在JQue ...

  8. Carson带你学Android:你要的WebView与 JS 交互方式都在这里了

    前言 现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝.京东.聚划算等等,如下图 上述功能是由Android的WebView实现的,其中涉及到Android客户端与 ...

  9. 初学JavaScript:js中的对象(对象+原型对象)

    文章目录 js对象详解 1.创建对象 字面量模式创建对象 构造函数模式创建对象 2.访问对象 访问属性 访问方法 3.遍历对象中的属性和属性值 4.往对象中新添属性 5.删除对象中的属性 6.Obje ...

  10. js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的

    4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...

最新文章

  1. shell最大出现和连续出现次数_从 1 到 n 整数中 1 出现的次数
  2. logging通过配置文件设置同时输出到终端与文件
  3. 技术分享 | CodeReview主要Review什么?
  4. hdfs文件如何导出到服务器,[Hadoop] 如何将 HDFS 文件导出到 Windows文件系统
  5. 知乎:fastjson这么快,为啥老外还是热衷 jackson?
  6. c# 添加防火墙例外端口_C#添加删除防火墙例外(程序、端口)
  7. Intellij Idea 下包建包,无论怎么建都在同一级,已解决(附图)
  8. nor flash驱动编写步骤
  9. Linux下DNS服务管理
  10. JAVA 生成API接口文档
  11. html怎么简单做圆形进度条,css3如何实现圆形进度条?css3中圆形进度条的实现
  12. CentOS系统介绍
  13. NASA 用哈勃望远镜定格你的星空
  14. 微软模拟飞行10厦门航空涂装_《微软模拟飞行》——准备起飞!
  15. Android 10 添加第三方输入法为系统默认输入法
  16. 几个鲜为人知但很有用的 HTML 属性
  17. ps cc2019版为什么做图一复制图层就卡死_你所不知道的十个被藏起来的PS功能,超级实用!...
  18. 比chatgpt稍逊的ai问答网站phind,专用于编写代码
  19. 计算机蓝屏 代码0000a,win7电脑蓝屏代码显示0x0000001A的解决方法
  20. 在centos7系统安装docker及用docker安装jenkins

热门文章

  1. flutter 打包出错 应用签名 报错 error
  2. web服务器的构建与配置文件,Web服务器构建与配置.ppt
  3. cocos2d-x3.x 游戏手柄
  4. 我相信那个人一定会穿过_我会相信的
  5. 《基督山伯爵》读后感
  6. mobaXterm 使用sftp上传文件速度慢或者无法上传问题
  7. Stash Save的用法
  8. oracle mysql limit用法_sql中limit使用方法
  9. 数模常用算法——图论算法简介代码实现(下)
  10. 必要商城和中国制造柔性生产