数组去重常见的3种方式

it2024-04-01  62

1.将数组先进行排序(冒泡),然后通过splice()进行去重

let arr = [1,2,3,3,2,3,4,2,2,2,4,4,4]; function px(arr){ for(let i = 0;i<arr.length;i++){ for(let j = 0;j<arr.length-i;j++){ if(arr[j]>arr[j+1]){ var t ; t=arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } return arr; } console.log("原数组",arr) console.log("px",px(arr)) function qc(arr){ for(let k = 0;k<arr.length;k++){ if(arr[k]==arr[k+1]){ console.log(arr.length) var a=arr.splice(k+1,1) k--; } } } qc(arr); console.log("去重",arr);

2.通过indexOf()进行去重

function newArr(array){ //一个新的数组 var arrs = []; //遍历当前数组 for(var i = 0; i < array.length; i++){ //如果临时数组里没有当前数组的当前值,则把当前值push到新数组里面 if (arrs.indexOf(array[i]) == -1){ arrs.push(array[i]) }; } return arrs; } var arr = [1,1,2,5,5,6,8,9,8]; console.log(newArr(arr)

3.es6中新增加了set集合,根据这个集合的特性可有进行去重

function newArr(arr){ return Array.from(new Set(arr)) } var arr = [1,1,2,9,6,9,6,3,1,4,5]; console.log(newArr(arr))
最新回复(0)