一.利用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)
原文地址:https://www.cnblogs.com/youwei716/p/11146091.html
时间: 2024-08-01 09:20:08