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;
  }
}
相关推荐
wuxia21184 小时前
微信小程序单击元素切换元素的显示和隐藏
javascript·微信小程序·setdata
JustHappy4 小时前
古法编程秘籍(二):什么是代码模块化?别背概念,把房间收拾明白就够了
前端·后端
小江的记录本4 小时前
【JVM虚拟机】堆内存分代模型:年轻代(Eden+Survivor)、老年代、元空间Metaspace(附《思维导图》+《面试高频考点清单》)
java·前端·jvm·后端·python·spring·面试
weixin_471383035 小时前
图片预解码缓存
前端·浏览器缓存·图片预解码
一起学开源5 小时前
一文读懂 ReAct 范式:让 AI Agent 真正学会“思考+行动“
java·javascript·react.js·ecmascript·react·alibaba·智能体开发
郑洁文6 小时前
基于网络爬虫的Web敏感信息泄露自动化检测工具
前端·爬虫·网络安全·自动化
游九尘7 小时前
JavaScript 实现三段式版本号对比函数(app升级用)
javascript·uni-app
zhiSiBuYu05177 小时前
Claude-Code 新手极速上手指南
javascript·node.js
郑洁文7 小时前
可视化Web渗透分析工具的设计与实现
前端
罗超驿7 小时前
18.Web API 实战:元素与表单属性的获取和修改
开发语言·前端·javascript