JavaScript 数组去重 ES6 方法总结

JavaScript 数组去重 ES6 方法

方法一

new Set()生成出来的数据是Set数据结构,需要自行转换成对应结构

javascript 复制代码
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 3, 3, 9, 8, 9, 's', 'o', 'o'];
Array.from(new Set(array));

方法二

javascript 复制代码
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 3, 3, 9, 8, 9, 's', 'o', 'o'];
...new Set(array);

或
const a = '12345678971100';
const b = [...new Set(a)].join('');

方法三

使用indexOf() 方法用于在字符串中查找指定子串,并返回第一个匹配项的索引。

javascript 复制代码
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 3, 3, 9, 8, 9, 's', 'o', 'o'];

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

方法四

javascript 复制代码
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 3, 3, 9, 8, 9, 's', 'o', 'o'];

let newarr2 = [];
array.sort(); //先将数组排序
for (var i = 0; i < array.length; i++) {
  if (array[i] !== array[i + 1]) { //判断后一项 是否跟前一项一样 将后一项放入新数组
    newarr2.push(array[i]);
  };
};

方法五

javascript 复制代码
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 3, 3, 9, 8, 9, 's', 'o', 'o'];

var res = [array[0]];
for (var i = 0; i < array.length; i++) {
  var repeat = false;
  for (var j = 0; j < res.length; j++) {
    if (array[i] == res[j]) {
      repeat = true;
      break;
    }
  }
  if (!repeat) {
    res.push(array[i]);
  }
}

方法六

javascript 复制代码
let array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 3, 3, 9, 8, 9, 's', 'o', 'o'];

var res = [];
var json = {};
for (var i = 0; i < array.length; i++) {
  if (!json[array[i]]) {
    res.push(array[i]);
    json[array[i]] = 1;
  }
}
相关推荐
前端小L2 分钟前
专题一:搭建测试驱动环境 (TypeScript + Vitest)
前端·javascript·typescript·源码·vue3
San30.3 分钟前
告别全局污染:深入解析现代前端的模块化 CSS 演进之路
前端·css·vue.js·react.js
程序员鱼皮6 分钟前
干掉 Claude Code,这个开源 AI 编程工具杀疯了?
前端·后端·计算机·ai·程序员
我想吃烤肉肉9 分钟前
wait_until=“domcontentloaded“ 解释
开发语言·前端·javascript·爬虫·python
xkxnq9 分钟前
第一阶段:Vue 基础入门(第 12天)
前端·javascript·vue.js
q_191328469514 分钟前
基于Springboo和vue开发的企业批量排班系统人脸识别考勤打卡系统
前端·javascript·vue.js·spring boot·mysql·毕业设计·人脸识别
BianHuanShiZhe17 分钟前
swift计算文本高度
前端·javascript·html
wtsolutions19 分钟前
Sheet-to-Doc模板设计最佳实践:创建专业的Word模板
前端·javascript·数据库
C_心欲无痕19 分钟前
js - AbortController请求中止
开发语言·javascript·ecmascript
小二·28 分钟前
Vue 前端性能优化终极指南:Lighthouse 100 分实战(Vue 3 + Vite)
前端·vue.js·性能优化