js两个数组对象去重,删除两个数组中相同的对象、删除数组对象中某个对象

这篇具有很好参考价值的文章主要介绍了js两个数组对象去重,删除两个数组中相同的对象、删除数组对象中某个对象。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

模拟一些数据:

 let arr1 = [
   {id:1,name'小明',age:18},
   {id:2,name'小红',age:16},
   {id:4,name'小紫',age:22},
   {id:5,name'小绿',age:20},
 ]
 
 let arr2 =[
   {id:2,sex:女},
   {id:5,sex:男},
 ]

方式一:两个数组通过arr1的id和arr2的id比较,返回去重后的arr1

//函数封装    
resArr(arr1, arr2) {
  return arr1.filter((v) => arr2.every((val) => val.id!= v.id));
},
 
//调用
let newArr= this.resArr(arr1,arr2)
console.log(newArr);

 写法二

let newArr= arr1.filter((v) =>
  arr2.every((val) => val.id != v.id)
)

打印的结果:console.log(newArr);

[
   {id:1,name'小明',age:18},
   {id:3,name'小红',age:16},
   {id:4,name'小紫',age:22},
 ]

方式二:删除两个数组对象中相同的对象

let getId = arr2.map(item=>item.id)  
console.log(set) 
let newArr = arr1.filter(item=>!getId.includes(item.id)) 
console.log(newArr)

方式三:es6 去掉两个数组中相同值的对象

let newArr = arr1.filter((item) => !arr2.some((ele) => ele.id === item.id));
console.log('newArr ', newArr );

删除数组中某一个对象、指定的对象

数组删除其中的对象或元素,在前端是比较常见的需求。
我现在比较常用的方法如下:

模拟数据如下:

let arr = [{"id":1,"name":"小红",},
		  {"id":2,"name":"小明",},
		  {"id":3,"name":"小绿"}]

方式一:假设 去掉name为小明的 这条数据

arr.splice(
	arr.indexOf(arr.find((e) => { 
		return e.name=== "小明"; }
		)
), 1);

方式二:假设 去掉id为2的 这条数据

let index = -1;

for(let i=0;i<arr.length;i++){
	if(arr[i].id == idNum){ //idNum为要删除的id idNum=2 
		index = i;
	}
}

if(index>-1){
	arr.splice(index,1);
}

方式三:假设 去掉id为3的 这条数据

arr.forEach((item, i) => {

  if (item.id === idNum) { //idNum为需要删除的id idNum=3
    // console.log("找到了", item, i);
	arr.splice(i, 1)

  }
})

这些方法只适合删除具有唯一标识的对象。文章来源地址https://www.toymoban.com/news/detail-407101.html

到了这里,关于js两个数组对象去重,删除两个数组中相同的对象、删除数组对象中某个对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JS判断对象、数组是否包含某个属性、某个值

    可以使用以下几种方法来判断对象是否包含某个属性: 1. in 操作符: 使用 in 操作符可以检查对象是否包含指定的属性。它会检查对象及其原型链上的所有属性。 2. hasOwnProperty() 方法: hasOwnProperty() 是对象的内置方法,用于检查对象自身是否具有指定的属性(不包括原型链上

    2024年02月09日
    浏览(72)
  • js判断一个数组中是否有重复的数组/ 一个数组中对象的某个属性值是否重复

    项目中往往会遇到对数组处理是否存在某个形同的值。或者对象中是否存在形同元素… 下列方法常用,但不限于。 一、普通数组数据 1.1对数组进行排序,对比上一个元素和下一个元素是否相等,若相等,则说明数组有重复值。 1.2:先将数组转换成字符串,再遍历数组,在字

    2024年02月09日
    浏览(71)
  • JS数组删除指定下标元素 JS删除对象指定元素

    一、JS数组删除指定下标元素 splice方法——Array.splice(index,n) 参数语义化理解:删除以下标index为起点的n个元素。(之后的元素会往前移动) 注意:splice会直接改变原数组  参考:JS数组删除指定下标元素_大浩籽的博客-CSDN博客_js数组删除指定下标元素 二、JS删除对象指定元素 参

    2024年02月13日
    浏览(44)
  • 两个list中实体某个属性值相同的实体和不同的实体

    有两个list,分别是newList 和 oldList,快速取出两个 newList 中某个属性值相同的实体和不同的实体

    2024年02月08日
    浏览(42)
  • Java中使用流将两个集合根据某个字段进行过滤去重?

    要是需要GPT Plus账号的小伙伴可以联系我~ 在Java中,您可以使用流(Stream)来过滤和去重两个集合。下面是一个示例代码,展示如何根据对象的某个字段进行过滤和去重操作: 在这个示例中,我们创建了一个 Person 类表示人员信息,包含 name 和 age 两个字段。我们使用流的 filte

    2024年02月12日
    浏览(51)
  • js在数组对象中添加和删除键值对(对象属性)的方法

    添加 1.Object.assign():用法-Object.assign(源对象, {要添加的键值对}) 2.拓展运算符(...):用于取出参数对象所有可遍历属性然后拷贝到当前对象 3.object[key] = value:直接给新的key赋值 删除 1.将属性设置为 undefined:属性本身仍将存在于对象中,它还会改变原始对象。 2.使用 delete 操

    2024年02月14日
    浏览(54)
  • 数组去重,对象去重,数组对象去重

    let srcArray = [1, 2, 3, 4, 1, 2, 3, 4] 1.  双层循环 + splice 注: splice删除了一个元素,下标要减一,否则循环会漏掉一个元素(多个相邻的元素 可能会漏掉删除元素) for(let i=0;isrcArray.length - 1;i++){     for(let  j = i+1;jsrcArray.length;j++){         if(srcArray[i]  === srcArray[j] ){            

    2023年04月25日
    浏览(33)
  • java 两个list比较,删除相同的元素

    概述 在Java开发中,经常需要比较两个List并删除相同的元素。本文将介绍整个流程,并提供相应的代码示例,帮助新手开发者完成这个任务。 流程 下面是比较两个List并删除相同元素的流程: 代码示例 创建两个List 我们首先需要创建两个List对象,分别代表待比较的两个列表

    2024年02月07日
    浏览(44)
  • Java当中List集合根据对象某个属性进行去重

    关于以下方法,直接可以在自己项目创建一个类,然后进行测试使用,去重方式有很多种,文本末尾也提供了每个方法的运行结果,供大家参考使用! 文章大量使用到了Java8当中的Lambda表达式,以及stream流相关基础知识。如果您用的不熟,没关系,可以直接复制下面的方案然

    2024年02月16日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包