Code前端首页关于Code前端联系我们

js数组去重,去除相同值​​​​

terry 2年前 (2023-09-09) 阅读数 180 #Javascript

JavaScript数组去重是日常开发中经常用到的一项技能。

本文总结了常见的js去重方法。如果需要兼容IE,可以使用babel编译生成适合IE的代码。

js数组去重,去除相同的值

ES5 的实现

JavaScript 1.6 / ECMAScript 5 您可以使用本机方法过滤器来实现字段重复数据删除。

function onlyUnique(value, index, self) { 
    return self.indexOf(value) === index;
}

// usage example:
var a = ['a', 1, 'a', 2, '1'];
var unique = a.filter( onlyUnique ); // returns ['a', 1, 2, '1']

原生过滤器方法将循环遍历数组并将回调参数传递给 onlyUnique 函数。

onlyUnique 检查回调值是否第一次发生。如果不是,则不会生成数组。

此方法不需要任何额外的库,例如jQuery或prototype.js。

此方法也适用于混合类型的数组。

对于不支持filter或indexOf方法的旧浏览器,我们可能会考虑放弃。

开个玩笑,你可以查看MDN文档找到filter和indexOf兼容的解决方案。

ES6

ES6可以使用Set来实现字段去重,使得代码比ES5更加简单。

var myArray = ['a', 1, 'a', 2, '1'];

let unique = [...new Set(myArray)]; 

// unique is ['a', 1, 2, '1']

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门