js操作两个json数组合并、去重,以及删除某一项元素

投稿:mdxy-dxy

这篇文章主要介绍了js操作两个json数组合并、去重,以及删除某一项元素,需要的朋友可以参考下

两个json数组合并去重,以及删除某一项元素

let ha = [ {id:'H',name:'3'}, {id:'A',name:'6'}, {id:'B',name:'14'}, {id:'C',name:'60'} let hb= [ {id:'H',name:'2'}, {id:'A',name:'6'}, {id:'B',name:'16'}, {id:'N',name:'2'}, {id:'C',name:'19'} // 合并两个json数组,并去重; ha= Object.assign([], ha, hb); console.log('ha',ha); {id:'H',name:'2'}, {id:'A',name:'6'}, {id:'B',name:'16'}, {id:'N',name:'2'}, {id:'C',name:'19'} // 去除json数组中的某一项 ha.splice(3, 1); console.log('ha',ha); {id:'H',name:'2'}, {id:'A',name:'6'}, {id:'B',name:'16'}, {id:'C',name:'19'}

一、Object.assign()方法,浅拷贝、对象属性的合并(数组是对象)

二、splice()方法

在W3C中我们可以查到有关于splice()的描述:

详情可以 查看这篇文章: https://www.jb51.net/article/43046.htm

arrayObject.splice(index, howmany, item1, ....., itemX) 方法向/从数组中添加/删除项目,然后返回被删除的项目。

参数1:index 为插入添加或(和)删除的起始位置;

参数2:howmany 指定从数组中添加/删除的元素个数;

参数3:item1, ....., itemX 可选,选择添加操作时填入,表示需要添加的元素。

JS中彻底删除json对象组成的数组中的元素

js删除json中指定的元素

JS删除数组里的某个元素方法

下面是其他网友的补充

将两个json数组合并

var str1=[{name:"11",age:11}]; var str2=[{name:"22",age:22}]; var str3 = []; for (var i = 0; i < str1.length; i++) { str3.push(str1[i]); for (var i = 0; i < str2.length; i++) { str3.push(str2[i]); -------------- var str3 = str1.concat(str2);

本质上是数组,用合并数组的方法来进行合并。

JS实现JSON数组合并和去重

有两个json数组demo1和demo2

var demo1 = [{"id": 0, "name": "牛肉"},{"id": 1,"name": "羊肉"}];
var demo2 = [{"id": 2, "name": "牛肉"},{"id": 3,"name": "鱼肉"},{ "id": 4,"name":"鸡肉"}];

var totalDemo = demo1.concat(demo2);
console.log(totalDemo); //[{"id": 0, "name": "牛肉"},{"id": 1,"name": "羊肉"},{"id": 2, "name": "牛肉"},{"id": 3,"name": "鱼肉"},{ "id": 4,"name":"鸡肉"}]

数组合并用的是concat方法,它可以用于字符串之间的连接和数组之间的连接。

上面已经得到合并的数组 totalDemo ,去掉name属性是一样的json对象

var temp = {}; //用于name判断重复 var result = []; //最后的新数组 totalDemo.map(function (item, index) { if(!temp[item.name]){ result.push(item); temp[item.name] = true; console.log(result);//[{"id": 0, "name": "牛肉"},{"id": 1,"name": "羊肉"},{"id": 3,"name": "鱼肉"},{ "id": 4,"name":"鸡肉"}];

map方法:按照原始数组元素顺序依次处理元素。可以在map方法里面输入console.log(item)打印看下,它会把数组中的对象依次打印出来。

您可能感兴趣的文章:
  • 说说JSON和JSONP 也许你会豁然开朗
    说说JSON和JSONP 也许你会豁然开朗
    2012-09-09
  • JSON schema配置规范使用教程
    JSON schema配置规范使用教程
    2022-08-08
  • 用nodejs写的一个简单项目打包工具
    用nodejs写的一个简单项目打包工具
    2013-05-05
  • JS中JSON.parse(JSON.stringify())实现深拷贝
    JS中JSON.parse(JSON.stringify())实现深拷贝
    2013-05-05
  • JSON.parse 数据不完整的解决方法
    JSON.parse 数据不完整的解决方法
    2013-05-05
  • JSON.parse()方法转换对象的示例以及注意事项
    JSON.parse()方法转换对象的示例以及注意事项
    2013-05-05
  • 写给小白学习的地理信息的表示法GeoJSON
    写给小白学习的地理信息的表示法GeoJSON
    2013-05-05
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2024 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号