js数组去重

转载自:https://blog.csdn.net/jiangwei1994/article/details/82992985

一、for循环嵌套,利用splice去重

function newArr(arr){
    for(var i=0;i

二、建新数组,利用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))

三、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))

四、Object键值对去重

var arr = [1,2,3,2,3,4,5,6,7,8,9,8,5]; 
//将数组转换成对象
//利用对象的key值不能重复这一特性
var toObject = function(array) {
    var obj = {};
    for(var i=0,j=array.length;i

你可能感兴趣的:(前端开发,javascript)