当前位置: 首页 > news >正文

js中数组对象去重的方法

前端面试题库 (面试必备)            推荐:★★★★★

地址:前端面试题库

最近工作中需要用到数组对象去重的方法,我是怎么想也没想出来,今天稍微研究了一下,总算找到了2种方法。分享一下,希望对大家有帮助!

 方法一:

采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。

 var arr = [{key: '01',value: '乐乐'}, {key: '02',value: '博博'}, {key: '03',value: '淘淘'},{key: '04',value: '哈哈'},{key: '01',value: '乐乐'}];//  方法1:利用对象访问属性的方法,判断对象中是否存在key
var result = [];
var obj = {};
for(var i =0; i<arr.length; i++){if(!obj[arr[i].key]){result.push(arr[i]);obj[arr[i].key] = true;}
}console.log(result); // [{key: "01", value: "乐乐"},{key: "02", value: "博博"},{key: "03", value: "淘淘"},{key: "04", value: "哈哈"}]

方法二:

采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法

//  方法2:利用reduce方法遍历数组,reduce第一个参数是遍历需要执行的函数,第二个参数是item的初始值var obj = {};
arr = arr.reduce(function(item, next) {obj[next.key] ? '' : obj[next.key] = true && item.push(next);return item;
}, []);console.log(arr); // [{key: "01", value: "乐乐"},{key: "02", value: "博博"},{key: "03", value: "淘淘"},{key: "04", value: "哈哈"}]

前端面试题库 (面试必备)            推荐:★★★★★

地址:前端面试题库

http://www.lryc.cn/news/255346.html

相关文章:

  • 【送书活动四期】被GitHub 要求强制开启 2FA 双重身份验证,我该怎么办?
  • GO设计模式——13、享元模式(结构型)
  • Linux 网络协议
  • 【C语言】7-32 刮刮彩票 分数 20
  • 交叉验证以及scikit-learn实现
  • css实现头部占一定高度,内容区占剩余高度可滚动
  • redis主从复制模式和哨兵机制
  • WebStorm:Mac/Win上强大的JavaScript开发工具
  • 传世SUN引擎如何安装
  • vue 生命周期
  • 多开工具对应用程序性能的影响与优化
  • G1 GC基本逻辑
  • nvidia安装出现7-zip crc error解决办法
  • (C语言实现)高精度除法 (洛谷 P2005 A/B Problem II)
  • 【AI】Windows环境安装GroundingDINO
  • 【Node.js】基础梳理 6 - MongoDB
  • .NET8 依赖注入
  • Ubuntu18安装(重启黑屏问题)
  • [PyTorch][chapter 4][李宏毅深度学习][Gradient Descent]
  • 利用proteus实现串口助手和arduino Mega 2560的串口通信
  • Web APIs—介绍、获取DOM对象、操作元素内容、综合案例—年会抽奖案例、操作元素属性、间歇函数、综合案例—轮播图定时器版
  • 题目:分糖果(蓝桥OJ 2928)
  • Leetcode刷题笔记——摩尔投票法
  • RabbitMq整合Springboot超全实战案例+图文演示+源码自取
  • 10-Hadoop组件开发技术
  • postman参数为D:\\audio\\test.mp3请求报错
  • 进行主从复制时出现的异常FATAL CONFIG FILE ERROR (Redis 6.2.6)Reading the configuration file
  • 611.有效的三角形个数
  • 超详细,使用JavaScript获取短信验证码
  • 利用 Python 进行数据分析实验(七)