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

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.kler.cn/a/162258.html

相关文章:

  • 马斯克万卡集群AI数据中心引发的科技涟漪:智算数据中心挑战与机遇的全景洞察
  • flutter下拉刷新上拉加载的简单实现方式三
  • Mac intel 安装IDEA激活时遇到问题 jetbrains.vmoptions.plist: Permission denied
  • 标准C++ 字符串
  • MybatisPlus入门(十)MybatisPlus-逻辑删除和多记录操作
  • C++模板特化实战:在使用开源库boost::geometry::index::rtree时,用特化来让其支持自己的数据类型
  • 【mysql】事物与隔离级别
  • CKafka 一站式搭建数据流转链路,助力长城车联网平台降低运维成本
  • 模块式雨水调蓄池施工简单,无需大型机械,可实现当天开挖当天回填
  • Python Appium Selenium 查杀进程的实用方法
  • 微信小程序 - PC端选择ZIP文件
  • 微软 Power Platform 零基础 Power Pages 网页搭建实际案例实践(三)
  • 013 OpenCV copyMakeBorder(padding)
  • vscode如何在没有网络的情况下安装插件
  • Python 中 Thread 线程的用法
  • 非常抱歉的通知
  • 在imx6ull中加入ov5640模块
  • Linux查看命令的绝对路径
  • 企业贷款行业如何获客?
  • 无公网IP环境如何SSH远程连接Deepin操作系统
  • C++初学教程三
  • 赛事回顾 | 首届“智航杯“全国无人机智能算法竞赛落幕
  • 无人机语音中继电台 U-ATC118
  • try catch 应该在 for 循环里面还是外面?(荣耀典藏版)
  • 读书笔记-《数据结构与算法》-摘要1[数据结构]
  • shell学习---杂谈