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;
  }
}
相关推荐
blackorbird1 小时前
Edge 浏览器 IE 模式成攻击突破口:黑客借仿冒网站诱导攻击
前端·edge
谷歌开发者2 小时前
Web 开发指向标 | Chrome 开发者工具学习资源 (一)
前端·chrome·学习
名字越长技术越强2 小时前
Chrome和IE获取本机ip地址
前端
天***88962 小时前
Chrome 安装失败且提示“无可用的更新” 或 “与服务器的连接意外终止”,Chrome 离线版下载安装教程
前端·chrome
半梦半醒*2 小时前
zabbix安装
linux·运维·前端·网络·zabbix
大怪v3 小时前
【搞发🌸活】不信书上那套理论!亲测Javascript能卡浏览器Reader一辈子~
javascript·html·浏览器
清羽_ls3 小时前
React Hooks 核心规则&自定义 Hooks
前端·react.js·hooks
你的人类朋友3 小时前
“签名”这个概念是非对称加密独有的吗?
前端·后端·安全
西陵3 小时前
Nx带来极致的前端开发体验——任务缓存
前端·javascript·架构
Panda__Panda3 小时前
docker项目打包演示项目(数字排序服务)
运维·javascript·python·docker·容器·c#