js 简单的数组去重13种方法

js 数组去重

十几种数组去重的方法,有的去重构思可以大致相同。
上篇的几种数组去重
https://blog.csdn.net/weixin_47988564/article/details/106482984

var arr = [1, 2, 3, 4, 5, 1, 2, 3, 4, 5];
var newArr = [];

for (let i = 0; i < arr.length; i++) {
    
    
    if (newArr.indexOf(arr[i]) == -1) newArr.push(arr[i]);
}

for (let i = 0; i < arr.length; i++) {
    
    
    if (!newArr.includes(arr[i])) newArr.push(arr[i]);
}

arr.forEach((v) => {
    
    
    if (newArr.indexOf(v) == -1) newArr.push(v);
});

arr.forEach((v) => {
    
    
    if (!newArr.includes(v)) newArr.push(v);
});

let res = arr.filter((v, i) => arr.indexOf(v) == i);

let res = Array.from(new Set(arr));

let obj = {
    
    };
for (let i = 0; i < arr.length; i++) {
    
    
    if (!obj[arr[i]]) {
    
    
        newArr.push(arr[i]);
        obj[arr[i]] = 1;
    }
}

let obj = {
    
    };
arr.forEach((v, i) => {
    
    
    if (!obj[arr[i]]) {
    
    
        newArr.push(v);
        obj[arr[i]] = 1;
    }
});

let res = arr.reduce((b, v) => {
    
    
    if (b.indexOf(v) == -1) b.push(v);
    return b;
}, []);

arr.forEach((v) => {
    
    
    if (newArr.indexOf(v) == -1) newArr.push(v);
});

let res = arr.reduce((b, v) => {
    
    
    if (!b.includes(v)) b.push(v);
    return b;
}, []);

arr.forEach((v) => {
    
    
    if (!newArr.includes(v)) newArr.push(v);
});

arr.sort();
for (let i = 0; i < arr.length; i++) {
    
    
    if (arr[i] != arr[i - 1]) {
    
    
        newArr.push(arr[i]);
    }
}

arr.sort();
arr.forEach((v, i) => {
    
    
    if (arr[i] !== arr[i - 1]) {
    
    
        newArr.push(v);
    }
});

for (let i = 0; i < arr.length; i++) {
    
    
    for (let j = i + 1; j < arr.length; j++) {
    
    
        if (arr[i] == arr[j]) {
    
    
            arr.splice(j, 1);
            j--;
        }
    }
}

console.log(newArr);
console.log(res);
console.log(arr);

let str = 'dgsadfdgfhksaghakjdjfak';
let newStr = '';

for (let i = 0; i < str.length; i++) {
    
    
    if (newStr.indexOf(str[i]) == -1) {
    
    
        newStr += str[i];
    }
}
for (let i = 0; i < str.length; i++) {
    
    
    if (newStr.search(str[i]) == -1) {
    
    
        newStr += str[i];
    }
}

let obj = {
    
    };
for (let i = 0; i < str.length; i++) {
    
    
    if (!obj[str[i]]) {
    
    
        newStr += str[i];
        obj[str[i]] = 1;
    }
}

console.log(newStr);


猜你喜欢

转载自blog.csdn.net/weixin_47988564/article/details/106509567