javascript(es6)数组去重方法介绍(根据不同浏览器选择不同方法)

721 ℃

今天web建站小编给大家介绍几种数组去重的方法,其中有es6语法写的,也有低版本浏览器兼容需要的写。

1、es6写法:利用Set去重(写法最简单,但不兼容低版本)

const arr = [1,1,'ok','mi',3,3,'ok','mi',5,5];
const setData = Array.from(new Set(arr));
console.log(setData);
//[1, 'ok', 'mi', 3, 5]

2、es6写法:利用includes去重

const arr = [1,1,'ok','mi',3,3,'ok','mi',5,5];
const removeRepeatData = (arr) => {
  let repeatArr = [];
  for (let i = 0,len = arr.length ; i < len; i++)
    if (!repeatArr.includes(arr[i])) repeatArr.push(arr[i])
  return repeatArr;
}
console.log(removeRepeatData(arr))
// [1, 'ok', 'mi', 3, 5]

3、es6写法:利用filter去重,(需要和indexOf一起用)

const arr = [1,1,'ok','mi',3,3,'ok','mi',5,5];
const removeRepeatData = (arr) => arr.filter((item,index) => arr.indexOf(item,0) === index);
console.log(removeRepeatData(arr))
// [1, 'ok', 'mi', 3, 5]

4、双重for循环去重(兼容低版本)

const arr = [1,1,'ok','mi',3,3,'ok','mi',5,5];
const removeRepeatData = (arr) => {
  for (let i=0,len = arr.length; i < len; i++) {
    for (let j = i + 1; j < len; j++) {
      if (arr[i] === arr[j]) {
        arr.splice(j, 1);
        j--;
        len--;
      }
    }
  }
  return arr;
};
console.log(removeRepeatData(arr))
// [1, 'ok', 'mi', 3, 5]

5、indexOf去重(兼容低版本最合适,比双重for循环简单)

const arr = [1,1,'ok','mi',3,3,'ok','mi',5,5];
const removeRepeatData = (arr) => {
  let repeatArr = [];
  for (let i = 0,len = arr.length ; i < len; i++) 
   if (repeatArr.indexOf(arr[i]) === -1)  repeatArr.push(arr[i])
  return repeatArr;
}
console.log(removeRepeatData(arr))
//[1, 'ok', 'mi', 3, 5]

css3+jquery手风琴式幻灯插件(支持IE平台请使用IE8以上浏览器)

JavaScript有哪些方法可以快速遍历出想要的数据

javascript如何解决浏览器不支持indexOf

js如何计算字符串中指定字段串出现的频率

如何利用includes方法对数组去重

标签: filter, for循环, includes, indexOf, set, 数组去重, 浏览器兼容

上面是“javascript(es6)数组去重方法介绍(根据不同浏览器选择不同方法)”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_2433.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

帝国cms6.0如何实现标题分类
js获取一个月时间(前30天/后30天/当天)
纯CSS饼图效果
MySQL的并发控制技巧之MVCC(Multiversion Concurrency Control)
wordpress如何获取文章字数和计算阅读时间