android两个数组对象去重合并,JS 数组,数组对象的合并去重方法
此次对数组的操做,咱们使用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 数组,数组对象的合并去重方法相关推荐
- 【JS对象】打败JS原型、原型链大恶魔方法详解
文章目录 什么是对象? 什么是面向对象? 创建对象的方式 原型是什么? __proto__属性 constructor属性 原型链 函数的定义类型有哪些? 函数也是一个对象 完整的原型链 打败恶魔第一 ...
- HTML怎么去除数组的重复元素,js去除数组中重复元素并排序
/p> "http://www.w3.org/TR/html4/strict.dtd"> 003_obj //去掉数组中重复的元素 var arr=[1,2,2,3,3 ...
- html判断数组中存在不,js判断数组中是否已存在某个值,indexOf的使用说明
indexOf()方法返回在该数组中的元素位置,如果它不存在则返回-1 //数组格式为[ "Name","LangShen","AGE",& ...
- html数组删除指定元素,JS实现数组删除指定元素功能示例
本文实例讲述了JS实现数组删除指定元素功能.分享给大家供大家参考,具体如下: www.jb51.net JS数组删除指定元素 var array = ["111", "2 ...
- JS数组去重,JS根据数组里面的对象属性值去重
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 微信小程序开发交流qq群 173683895 js数组简单去重 var arr1 = [1, 2, 3, ...
- js字符串转对象 js对象转字符串 js字符串与对象互转
上图为转换前后对比 平时页面链接传参为对象,我们需要转为字符串在传值,取值时又得转为对象,所以比较常用,就整理下吧! 对象转为字符串 JSON.stringify(obj) json字符串转为对象 J ...
- JQuery和原生JS遍历数组和对象的对比
目录 1 遍历数组 1.1 JQuery遍历数组 1.2 原生JS遍历数组 2 遍历对象 2.1 JQuery遍历对象 2.2 原生JS遍历对象 1 遍历数组 1.1 JQuery遍历数组 在JQue ...
- Carson带你学Android:你要的WebView与 JS 交互方式都在这里了
前言 现在很多App里都内置了Web网页(Hybrid App),比如说很多电商平台,淘宝.京东.聚划算等等,如下图 上述功能是由Android的WebView实现的,其中涉及到Android客户端与 ...
- 初学JavaScript:js中的对象(对象+原型对象)
文章目录 js对象详解 1.创建对象 字面量模式创建对象 构造函数模式创建对象 2.访问对象 访问属性 访问方法 3.遍历对象中的属性和属性值 4.往对象中新添属性 5.删除对象中的属性 6.Obje ...
- js中自定义对象、json对象、json字符串、普通js对象 --js学习那本书上的
4.7 自定义对象 JS除了内置对象之外,还允许我们程序自己定义属于我们自己的对象,在JS中自定义对象的方式有2种:通过构造器创建对象,通过初始化器创建对象. 4.7.1 构造器创建对象(原生JS对象 ...
最新文章
- shell最大出现和连续出现次数_从 1 到 n 整数中 1 出现的次数
- logging通过配置文件设置同时输出到终端与文件
- 技术分享 | CodeReview主要Review什么?
- hdfs文件如何导出到服务器,[Hadoop] 如何将 HDFS 文件导出到 Windows文件系统
- 知乎:fastjson这么快,为啥老外还是热衷 jackson?
- c# 添加防火墙例外端口_C#添加删除防火墙例外(程序、端口)
- Intellij Idea 下包建包,无论怎么建都在同一级,已解决(附图)
- nor flash驱动编写步骤
- Linux下DNS服务管理
- JAVA 生成API接口文档
- html怎么简单做圆形进度条,css3如何实现圆形进度条?css3中圆形进度条的实现
- CentOS系统介绍
- NASA 用哈勃望远镜定格你的星空
- 微软模拟飞行10厦门航空涂装_《微软模拟飞行》——准备起飞!
- Android 10 添加第三方输入法为系统默认输入法
- 几个鲜为人知但很有用的 HTML 属性
- ps cc2019版为什么做图一复制图层就卡死_你所不知道的十个被藏起来的PS功能,超级实用!...
- 比chatgpt稍逊的ai问答网站phind,专用于编写代码
- 计算机蓝屏 代码0000a,win7电脑蓝屏代码显示0x0000001A的解决方法
- 在centos7系统安装docker及用docker安装jenkins