小白也会的手写数组去重

let a = [1, 1, 2, 3, 2, 4];
let b = [];

// for循环方法 + indexof方法
// for(let i = 0;i<a.length;i++){
// 原理就是在b里面查找,返回是-1就代表没找到,没找到直接push就好了
//     if(b.indexOf(a[i]) == -1){
//         b.push(a[i])
//     }
// }
// 结果[ 1, 2, 3, 4 ]


// foreach循环方法  + indexof方法
// a.forEach( (item) => {
//     if(b.indexOf(item) == -1){
//         b.push(item)
//     }
// });
// 结果[ 1, 2, 3, 4 ]


// map循环方法   + indexof方法
// a.map((item) => {
//   if (b.indexOf(item) == -1) {
//     b.push(item);
//   }
// });
// 结果[ 1, 2, 3, 4 ]


//for循环方法  + includes方法
for(let i = 0;i<a.length;i++){
    if(b.includes(a[i]) == false){
        b.push(a[i])
    }
}
// 结果[ 1, 2, 3, 4 ]

console.log(b);

includes和indexof的区别就是前者返回的是布尔值,后面的返回是数值


版权声明:本文为m0_59226489原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。