数组去重最简方法

es6实现:
[...new Set([1,2,3,1,‘a‘,1,‘a‘])];
Array.from(new Set([1,2,3,1,‘a‘,1,‘a‘]));

第一个方法里“...”叫做扩展运算符,内部使用for...of循环,所以也可以用于 Set 结构。

es5实现:

[1,2,3,1,‘a‘,1,‘a‘].filter(function(ele,index,array){
    return index===array.indexOf(ele)
})
 
时间: 2024-10-07 20:45:41

数组去重最简方法的相关文章

JS数组去重的十种方法

一.前言: 我们在实际工作中,或者在面试找工作时,都会用到或者被问到一个问题,那就是"数组如何去重".是的,这个问题有很多种解决方案,看看下面的十种方式吧! 二.数组去重方式大汇总: Methods 1: 思路:定义一个新数组,并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比,若不同则存放在新数组中. function unique(arr){ var res = [arr[0]]; for(var i=1; i<arr.length; i++){ var repea

数组去重的多种方法

遍历数组法 实现思路:新建一新数组,遍历传入数组,值不在新数组就加入该新数组中:注意点:判断值是否在数组的方法“indexOf”是ECMAScript5 方法,IE8以下不支持,需多写一些兼容低版本浏览器代码: // 最简单数组去重法 function unique1(array){   var n = []; //一个新的临时数组   //遍历当前数组   for(var i = 0; i < array.length; i++){     //如果当前数组的第i已经保存进了临时数组,那么跳过

数组-去重、排序方法、json排序

1.数组去重 /*方法一: 1,'1' 会被认为是相同的; 所有hash对象,如:{x;1},{y:1}会被认为是相同的 //10ms */ Array.prototype.unique=function(){ var newArr=[],obj={}; for(var i=0,len=this.length;i<len;i++){ if(!obj[this[i]]){ newArr.push(this[i]); obj[this[i]]=true; } } return newArr; } /

JavaScript数组去重6种方法

数组去重涉及基础知识较多,总结了以下6个方法: 双重for循环,push新数组: 双重for循环,splice原数组: 单个for循环,遍历对象属性: 单个for循环,sort排序后遍历: ES5,indexOf,定位去重: ES6,... 及set方法. 1.双层循环,若有相同的值则跳过,不相同则push进新数组 1 Array.prototype.distinct1 = function(){ 2 var arr = this, 3 i,j, 4 len = arr.length, 5 re

JS数组去重的六种方法

一.利用ES6 Set去重(ES6中最常用) function unique (arr) { return Array.from(new Set(arr)) } var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}]; console.log(unique(arr))  //[1, "true&qu

数组去重的多种方法实现

<script> //第一种方式    var arr=[23,1,34,7,1,3,5,2,3]; //定义一个数组    var newArr = [];   //定义一个新的临时数组    var result = {};   //hash表    for(var i=0;i<arr.length;i++){    //循环遍历数组        if(!result[arr[i]]){  //如果遍历到的数组不在hash表中            result[arr[i]] =

javaScript数组去重两种方法

var arr = ["c", "a", "z", "a", "x", "a", "a", "z", "c", "x", "a", "x"] var obj={}; for(var i=0;i<arr.length;i++) { if(arr[i] in obj)

JavaScript实现数组去重方法

一.利用ES6 Set去重(ES6中最常用) function unique (arr) { return Array.from(new Set(arr)) } var arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN', 0, 0, 'a', 'a',{},{}]; console.log(unique(arr)) //[1, "true&quo

ES6 set和map数据结构对对象数组去重简单实现

自从有了es6的set数据结构,数组的去重可以简单用一行代码实现,比如下面的方式 let arr = [1, 2, 2, 3, 4] function unique (arr) { return [...new Set(arr)] } console.log(unique(arr)) // [1, 2, 3, 4] 但是当数组的项不再是简单的数据类型时,比如是对象时,这种方法就会导致错误,比如下面的结果 let arr = [ { name: 'a', num: 1}, { name: 'b',