JS数组对象去重,ES6最简数组去重

// 测试数据
// 比如我们处理 value 的去重
var arrList = [{key: 1, value: "aaa"},{key: 2, value: "bbb"},{key: 3, value: "ccc"},{key: 4, value: "aaa"},{key: 5, value: "aaa"},{key: 6, value: "ddd"},
];/*** 数组对象去重* 设置cur默认类型为数组,并且初始值为空的数组*/
let obj = {};
arrList = arrList.reduce((cur,next) => {obj[next.value] ? "" : obj[next.value] = true && cur.push(next);return cur;
},[]);// 这里得出去重后的数据
console.log(arrList);

reduce是干嘛的
reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。

语法
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)参数          描述
total           必需。初始值, 或者计算结束后的返回值。
currentValue    必需。当前元素
currentIndex    可选。当前元素的索引
arr             可选。当前元素所属的数组对象。
initialValue    可选。传递给函数的初始值

关于 reduce 更详细的解释可以参阅这里:
https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Array/reduce
中文网
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

用ES6进行最简普通数组去重

// 原始数组
var arr = [1,2,3,2,2,4,5,6];
// 使用解构方式 去重的核心方法
var newArr = [...new Set(arr)];
// 去重后数据
console.log(newArr);

JS数组对象去重,ES6最简数组去重相关推荐

  1. js给对象添加变量属性 js 更改对象中的属性名 数组对象中每个对象添加一个字段-map用法和forEarch用法

    js给对象添加变量属性 & js 更改对象中的属性名 & 数组对象中每个对象添加一个字段-map用法和forEarch用法 1.js给对象添加变量属性 1.js创建一个对象或者在原有对 ...

  2. 后端返回数组对象(id重复)来去重并保留第一个

    后端返回数组对象(id重复)来去重并保留第一个1 var arr = [{ id: "0001", name: "张三" },{ id: "0001& ...

  3. 【关于js数组对象一道题】将数组对象中的英文属性名替换为中文属性名

    将数组对象中的英文属性名替换为中文属性名 const arr = [{name: '张三', age: 18, address: '湖北'}, {name: '李四', age: 18, addres ...

  4. 数组、对象、类数组对象的不同以及类数组转数组方法总结

    一.数组.对象.类数组对象数据结构的异同 1.数组 一组有序的数据集合,其索引为从0开始且自然增长的整数,其元素值可以是任何js数据!并且包含一个名为length的属性,该属性表示数组元素的个数! v ...

  5. 一维数组对象转成二维数组

    一.关于PHP把装着item为对象的一维数组转成二维数组的疑问 背景:新增帖子的时候,选择标签时,可以选择多个,后端接口是需要传入的是一个二维数组. /*** @Title 修改精选内容* @Para ...

  6. matlab创建元胞数组对象,MATLAB中胞元数组的用法

    胞元数组(cell Arry)的基本组分是胞元(cell),每个胞元本身在数组中是平等的,只能以下标区分.胞元可以存放任何类型.任何大小的数组,如任意维数值数组.字符串数组.符号对象等,而且同一个胞元 ...

  7. java 数组对象长度_Java中的数组长度:关于Java中数组长度的所有信息

    Java中的数组可以包含多个元素,这取决于对象是如何创建的.为了让用户执行不同的操作,必须知道数组的长度.这篇关于"Java中的数组长度"的文章旨在让我们熟悉用于获取数组长度的操 ...

  8. vue 数组对象提取_vue中使用对象数组的最佳实践

    前言: 在平常的开发中,经常会在vue中用到对象数组,如渲染一个小区的列表,数据结构可能如下所示: CommunityList: [ { _id: '', community_code: '', co ...

  9. post postman 传递数组对象_PostMan Post方式传递数组数据参数 OK_go

    服务器是PHP 写的 需要 数组字段key + [0] ,如果有多个值从0 往下排 . OkGo.post(ConstantUrls.CREATE_GOODS) .tag(this) .headers ...

最新文章

  1. 【独家】玩流量,先读懂数据再说吧!PM玩转流量课程笔记大放送
  2. boost::phoenix::delete和using boost::phoenix::new_相关的测试程序
  3. java创建一个程序把输入字符串的大小写互换_8 编写程序,从键盘接收一个字符串,对字符串中的字母进行大小写互转...
  4. 可视化图形(二):热力图-imshow()
  5. 白鹭引擎解决微信小游戏切换背景音乐无法播放的问题。
  6. 数据集 oracle,Analytics 数据集 - Oracle® ZFS Storage Appliance RESTful API 指南,发行版 OS8.6.0...
  7. Win7(64Bit) 安装 PL/SQL Developer图解
  8. 阿里开发者招聘节 | 面试题02-04:给定一个二叉搜索树(BST),找到树中第K小的节点...
  9. Fiddler抓包工具之详细使用步骤(超详细)
  10. java poi操作word转pdf
  11. 【正点原子Linux连载】第六十九章 Linux 网络驱动实验 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0
  12. 企业选择WMS仓库管理系统免费版是否更好
  13. 中国企业家:TD-SCDMA的坎坷商业路
  14. Android支付宝刷步数,支付宝刷步数教程(手机免ROOT)
  15. MFC字符串资源IDR_MAINFRAME和IDR_XXXXTYPE
  16. 第一性原理 《禅与计算机程序设计艺术》 / 陈光剑
  17. zipentry java_java.util.zip 类 ZipEntry - Java 中文参考手册
  18. 计算机毕业设计(附源码)python自助旅游平台
  19. 收到QQ尾巴 Worm.QQ.TopFox.bo 送来的“我的近照11.zip”
  20. 模拟 nbut1225 NEW RDSP MODE I

热门文章

  1. 软件公司【国内6,国外2】(10.8)
  2. 0基础能学漫画么?漫画零基础入门教程!
  3. Android安装pem文件(华为手机)
  4. maven的概念和idea中使用maven
  5. 巧用文件改名 保障网络安全十招(转)
  6. Java回调机制研究
  7. c语言long int转double,将无符号long long转换为C中的double
  8. 苹果付费app共享公众号_知识付费产品开发,公众号知识付费的商业模式
  9. 有了那么多的工业软件,为何还需要工业互联网?
  10. leetcode13罗马数字转整数