JavaScript 几种数组去重的方法
Posted youwei716
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 几种数组去重的方法相关的知识,希望对你有一定的参考价值。
一.利用for嵌套for,然后splice去重
let arr=[5,5,5,12,12,-3,33,33,35,8];
for( let i=0; i<arr.length;i++)
for(let k=i+1;k<arr.length;k++)
if(arr[i]===arr[k])
arr.splice(i,1);
i--;
console.log(arr)
二.Set方法去重
let arr = [1,2,2,3,4,3,1,6,7,3,5,7];
let s1 = new Set(arr);
let arr2 = [...s1];
console.log(arr2);
三.利用indexOf去重
let arr=[1,2,4,4,5,6,7,7,8,9];
let s = []; //遍历数组
for(var i = 0;i<arr.length;i++)
if(s.indexOf(arr[i]) == -1) //判断在s数组中是否存在,不存在则push到s数组中
s.push(arr[i]);
console.log(s);
四.利用sort去重
let arr=[1, 1, 2, 3, 5, 3, 1, 5, 6, 7, 4];
function unique(arr)
if (!Array.isArray(arr))
console.log(‘type error!‘)
return;
arr = arr.sort()
var arrry= [arr[0]];
for (var i = 1; i < arr.length; i++)
if (arr[i] !== arr[i-1])
arrry.push(arr[i]);
return arrry;
console.log(unique(arr));
五.双重for循环,利用push达到去重效果
let arr=[1,2,4,4,5,6,7,7,8,9];
let newArr = []
for (let i = 0; i < arr.length; i++)
for (let j = i + 1; j < arr.length; j++)
if (arr[i] === arr[j])
i++;
newArr.push(arr[i])
console.log(newArr)
以上是关于JavaScript 几种数组去重的方法的主要内容,如果未能解决你的问题,请参考以下文章