js中常用数组去重方法

js中常用去重方法

一、使用 Set

ES6 提供了 Set 类型,它可以自动去重

const arr = [1, 2, 2, 3, 3, 4];
const newArr = Array.from(new Set(arr));
console.log(newArr ); // [1, 2, 3, 4]

二、使用 filter 方法

const arr = [1, 2, 2, 3, 3, 4];
const newArr = arr.filter((item, index) => {
   
  return arr.indexOf(item) === index;
});
console.log(newArr); // [1, 2, 3, 4]

三、使用 reduce 方法

const arr = [1, 2, 2, 3, 3, 4];
const newArr= arr.reduce((acc, cur) => {
   
  if (!acc.includes(cur)) {
   
    acc.push(cur);
  }
  return acc;
}, []);
console.log(newArr); // [1, 2, 3, 4]

四、使用对象键值对

const arr = [1, 2, 2, 3, 3, 4];
const obj = {
   };
//f方式1
//const newArr= arr.filter((item) => {
   
//  return obj.hasOwnProperty(item) ? false : (obj[item] = true);
//});

//方式2
arr.forEach(item=>obj[item] = item)
const newArr= Object.keys(obj)  //Object.values(obj)

console.log(newArr); // [1, 2, 3, 4]

五、使用 ES6 Map

onst arr = [1, 2, 2, 3, 3, 4];
const map = new Map();
const newArr= arr.filter((item) => !map.has(item) && map.set(item, true));
console.log(newArr); // [1, 2, 3, 4]

六、indexOf

const arr = [1, 2, 2, 3, 3, 4];
const newArr= arr.filter((item, index) => {
   
  return arr.indexOf(item) === index;
});
console.log(newArr);

七、使用 ES6 的扩展运算符和 Set

const arr = [1, 2, 2, 3, 3, 4];
const newArr= [...new Set(arr)];
console.log(newArr); // [1, 2, 3, 4]

相关推荐

  1. js数组方法

    2024-02-05 00:30:01       51 阅读
  2. js数组对象方法

    2024-02-05 00:30:01       62 阅读
  3. js多种数组方法

    2024-02-05 00:30:01       53 阅读
  4. js数组常见方法

    2024-02-05 00:30:01       35 阅读
  5. js数组(4种方法)

    2024-02-05 00:30:01       24 阅读
  6. js 数组

    2024-02-05 00:30:01       58 阅读
  7. js 数组的6种方法

    2024-02-05 00:30:01       33 阅读
  8. js如何数组

    2024-02-05 00:30:01       62 阅读
  9. jsjs数组对象

    2024-02-05 00:30:01       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-05 00:30:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-05 00:30:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-05 00:30:01       82 阅读
  4. Python语言-面向对象

    2024-02-05 00:30:01       91 阅读

热门阅读

  1. Python这些模块,你了解吗?

    2024-02-05 00:30:01       59 阅读
  2. Docker应用之Nginx安装(二)

    2024-02-05 00:30:01       50 阅读
  3. Python 数据分析(PYDA)第三版(三)

    2024-02-05 00:30:01       46 阅读
  4. @ResponseBody和@RequestBody

    2024-02-05 00:30:01       42 阅读
  5. 自创微型小说——雨

    2024-02-05 00:30:01       46 阅读
  6. 突破编程_C++_面试(基础知识(6))

    2024-02-05 00:30:01       50 阅读
  7. 动态内容推荐系统PHP代码

    2024-02-05 00:30:01       42 阅读
  8. 【linux学习】linux下添加环境变量的方法

    2024-02-05 00:30:01       55 阅读
  9. 技术栈面试综合整理

    2024-02-05 00:30:01       53 阅读
  10. Liunx基本指令

    2024-02-05 00:30:01       48 阅读
  11. 利用tshark从pcap中解析http流量

    2024-02-05 00:30:01       58 阅读