JS数组去重 ES6 方法

let arr = [0, 0, 0, 0, 1, 2, 3, 4, 4, 5, 2, 3, 3, 3, 9, 8, 9];

//数组去重法1

console.log(Array.from(new Set(arr)));

//数组去重法2

console.log(...new Set(arr));

//数组去重法3

let newarr = [];

for (var i = 0; i < arr.length; i++) {

if (newarr.indexOf(arr[i]) == -1) {

newarr.push(arr[i]);

};

};

console.log(newarr);

//数组去重法4

let newarr2 = [];

arr.sort(); //先将数组排序

// newarr2.push(arr[0]);

for (var i = 0; i < arr.length; i++) {

if (arr[i] !== arr[i + 1]) { //判断后一项 是否跟前一项一样 将后一项放入新数组

newarr2.push(arr[i]);

};

};

console.log(newarr2);

//数组去重 法5

var res = [arr[0]];

for (var i = 0; i < arr.length; i++) {

var repeat = false;

// console.log(res);

for (var j = 0; j < res.length; j++) {

if (arr[i] == res[j]) {

repeat = true;

break;

}

}

if (!repeat) {

res.push(arr[i]);

}

}

console.log(res);

//数组去重 法6

var res = [];

var json = {};

for (var i = 0; i < arr.length; i++) {

if (!json[arr[i]]) {

res.push(arr[i]);

json[arr[i]] = 1;

}

}

console.log(res);

原文地址:https://www.cnblogs.com/shenbo666/p/9408369.html

时间: 2024-10-14 21:59:59

JS数组去重 ES6 方法的相关文章

js 数组去重的方法总结

想沉淀一下自己.代码改变世界~~~ 1.利用Array.from代码如下 1 var arr = [1,2,3,4,3,2,1] 2 function unique(arr){ 3 return Array.from(new Set(arr)) 4 } 5 console.log(unique(arr)) 2.利用es6(...)拓展运算符.demo 1 var arr = [1,2,3,4,3,2,1] 2 function unique(arr){ 3 return [...new Set(

js数组去重的方法

1.如果不借助任何方法,初级写法应该是: function unique(arr){ var res=[]; for(var i=0,len=arr.length;i<len;i++){ var obj = arr[i]; for(var j=0,jlen = res.length;j<jlen;j++){ if(res[j]===obj) break; } if(jlen===j)res.push(obj); } return res; } var arr=[1,1,'2','1',3,4]

数组去重--ES6方法

数组去重方法1:用es6的set和...扩展运算符 let arr = [1,2,3,4,4,5,2]; console.log([...new Set(arr)]) // [1, 2, 3, 4, 5] ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. const s = new Set(); [2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x)); for (l

两种js数组去重的方法

方法一: 新建一个数组,遍历原数组,在新数组内用IndexOf查找原数组内的每一项,如果没有找到,则添加到其中 代码如下: function arrayNew(arrs ){ var newArray = []; for(var i=0;i<arrs.length;i++){ if(newArray.indexOf){ if(newArray.indexOf(arrs[i])==-1){newArray.push(arrs[i])} } else{ if(indexOf(arrs[i],newA

js数组去重的4种方法

js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.indexOf = Array.prototype.indexOf || function(item) { for (var i = 0, j = this.length; i < j; i++) { if (this[i] === item) { return i; } } return -1; } Ar

js数组去重的三个方法

在工作上,对json数据处理时,例如遇到对某些产品的尺码进行排序,不同的产品都有相同的尺码那是正常不过的事情,如果我们要把这些转成表格的形式来展现,那么这些尺码就不要不能重复才行.在这里呢,我就写几个数组去重的方法,给大家参考参考: 方法一:对数组进行先排序,排完序之后在让元素与前一个元素做对比,相同的就去掉 说明:该方法用到的是sort()方法和slice(),下面我直接贴代码上来,里面有注释说明,相信大家肯定是看得懂的 var arr = ['a', 'b', 'c', 'd', 'e',

JS数组去重的几种常见方法

JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(array[i]); } } ret

js 数组去重(数组元素是对象的情况)

js数组去重有经典的 几种方法 但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现. 因为: 1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致所有元素都相等,这时判断方法不再有意义.一般最后数组就只剩一个 2.如果是直接比较法,则因为对象在内存中是按引用访问的,属性值相同的对象也不会相等,简单的直接判断不再有意义.一般最后数组还是原样 所以就需要进行值的比较 当然了,也可以换着法来将相应对象转为字符串(不是默认的那种[object Obj

JS数组去重,js中数组(Array)的排序(sort)

JS数组去重 var ddd = [1,2,4,5,2, 222,1,5,6]; var uq = {}; var rq = []; for(var i=0; i<9; i++){ if(!uq[ddd[i]]){ uq[ddd[i]] = true; rq.push(ddd[i]); } } return rq; js中数组(Array)的排序(sort)注意事项 var arrDemo = new Array(); arrDemo[0] = 10; arrDemo[1] = 50; arrD