本文摘自PHP中文网,作者青灯夜游,侵删。
数组去重的5种方法:1、用“[...new Set(arr)]”语句去重;2、用“Array.from(new Set(arr))”语句去重;3、利用indexOf()去重;4、利用includes()去重;5、利用filter()去重。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
数组去重的方法
1、[...new Set(arr)]
1 2 | const arr = [1, 2, 3, 2, 3];
[... new Set(arr)];
|
这里是通过 ES6 的展开语法将 Set 对象转换成数组;
2、Array.from(new Set(arr))
1 2 | const arr = [1, 2, 3, 2, 3];
Array.from( new Set(arr));
|
由于 Set 中的元素是唯一的,无论是原始值或者是对象引用,所以可以通过将数组转换成 Set 对象来实现去重
Array.from方法可以将 Set 对象转换成数组
3、利用indexOf去重
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | function unique(arr) {
if (!Array.isArray(arr)) {
console.log( 'type error!' )
return
}
var array = [];
for ( var i = 0; i < arr.length; i++) {
if ( array .indexOf(arr[i]) === -1) {
array .push(arr[i])
}
}
return array ;
}
var arr = [1,1, 'true' , 'true' ,true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN, 'NaN' , 0, 0, 'a' , 'a' ,{},{}];
console.log(unique(arr))
|
新建一个空的结果数组,for 循环原数组,判断结果数组是否存在当前元素,如果有相同的值则跳过,不相同则push进数组。
4、利用includes
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | function unique(arr) {
if (!Array.isArray(arr)) {
console.log( 'type error!' )
return
}
var array =[];
for ( var i = 0; i < arr.length; i++) {
if ( ! array .includes( arr[i]) ) {
array .push(arr[i]);
}
}
return array
}
var arr = [1,1, 'true' , 'true' ,true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN, 'NaN' , 0, 0, 'a' , 'a' ,{},{}];
console.log(unique(arr))
|
5、利用filter
1 2 3 4 5 6 7 8 9 | function unique(arr) {
return arr.filter( function (item, index, arr) {
return arr.indexOf(item, 0) === index;
});
}
var arr = [1,1, 'true' , 'true' ,true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN, 'NaN' , 0, 0, 'a' , 'a' ,{},{}];
console.log(unique(arr))
|
【相关推荐:javascript学习教程】
以上就是JavaScript中数组去重的5种方法是什么的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
vue-cli 3.x 自动部署项目至服务器的方法介绍(代码)
javascript数组怎么判断是否存在某元素
javascript查看网页是否为伪静态的方法是什么
javascript怎么实现禁止缩放
javascript中创建对象的7种经典方式(总结)
简述javascript如何创建数组
javascript数组怎么求和
javascript继承方法有哪些
javascript的后缀是什么
javascript数组去重有哪几种方式
更多相关阅读请进入《javascript》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » JavaScript中数组去重的5种方法是什么