方法一:
采用对象访问属性的方法,判断属性值是否存在,如果不存在就添加。
方法二:
采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法
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: "哈哈"}] // 方法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: "哈哈"}]
若有不足请多多指教!希望给您带来帮助!
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接
本文向大家介绍js 数组去重的四种实用方法,包括了js 数组去重的四种实用方法的使用技巧和注意事项,需要的朋友参考一下 面试前端必须准备的一个问题:怎样去掉Javascript的Array的重复项。据我所知,百度、腾讯、盛大等都在面试里出过这个题目。这个问题看起来简单,但是其实暗藏杀机。 考的不仅仅是实现这个功能,更能看出你对计算机程序执行的深入理解。 我总共想出了三种算法来实现这个目的: 其中第
本文向大家介绍JavaScript数组去重的两种方法推荐,包括了JavaScript数组去重的两种方法推荐的使用技巧和注意事项,需要的朋友参考一下 1、数组去重; Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: 方法一:利用indexOf方法; 方法二: 方法二,总体思路是把数组元素逐个搬运到另一个数组,搬运的过程中检查这个元素是否有重复,如果有就直接丢掉。从嵌
本文向大家介绍js数组中去除重复值的几种方法,包括了js数组中去除重复值的几种方法的使用技巧和注意事项,需要的朋友参考一下 在日常开发中,我们可能会遇到将一个数组中里面的重复值去除,那么,我就将我自己所学习到的几种方法分享出来 去除数组重复值方法: 1,利用indexOf()方法去除 思路:创建一个新数组,然后循环要去重的数组,然后用新数组去找要去重数组的值,如果找不到则使用.
本文向大家介绍js数组去重的hash方法,包括了js数组去重的hash方法的使用技巧和注意事项,需要的朋友参考一下 对于 JavaScript 数组去除重复项,现在有多种方法,其中一种是hash,如下: 但是该方法并不严谨,无法区分数字 1 和 字符串 '1' 修改一下,加上数据类型判断: 至少现在对5种原始数据类型的值可以准确去重了,对某些引用类型的值──数组,函数,也可以,但是对象类型──{"
本文向大家介绍JS实现数组去重及数组内对象去重功能示例,包括了JS实现数组去重及数组内对象去重功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS实现数组去重及数组内对象去重功能。分享给大家供大家参考,具体如下: 大家在写项目的时候一定遇到过这种逻辑需求,就是给一个数组进行去重处理,还有一种就是给数组内的对象根据某一个属性,比如id,进行去重,下面我写了两个函数,都是可以达到这个效
本文向大家介绍JavaScript数组去重的多种方法(四种),包括了JavaScript数组去重的多种方法(四种)的使用技巧和注意事项,需要的朋友参考一下 数组去重,一般需求是给你一个数组,调用去重方法,返回数值副本,副本中没有重复元素。一般来说,两个元素通过 === 比较返回 true 的视为相同元素,需要去重,所以,1 和 "1" 是不同的元素,1 和 new Number(1) 是不同的元素