两个数组去重的JS代码
作者:
这篇文章主要介绍了两个数组去重的JS代码,有需要的朋友可以参考一下
第一种:
function unique (arr){
var obj = {},newArr = [];
for(var i = 0;i < arr.length;i++){
var value = arr[i];
if(!obj[value]){
obj[value] = 1;
newArr.push(value);
}
}
return newArr;
}
这个方法把数组的值存入对象,所以,在数组存在对象队员的时候,运行失败(对象作为对象的键会被转化为字符串)。
第二种方法:
function unique (arr){
for(var i = 0;i < arr.length;i++){
for(var j = i+1;j < arr.length;j++){
if(arr[i] === arr[j]){
arr.splice(j,1);
j--}
}
}
return arr;
}
即使传入的数组包含对象,这个方法也支持,注意‘===',但是使用了嵌套循环,性能会劣于第一种方法。
复制代码 代码如下:
function unique (arr){
var obj = {},newArr = [];
for(var i = 0;i < arr.length;i++){
var value = arr[i];
if(!obj[value]){
obj[value] = 1;
newArr.push(value);
}
}
return newArr;
}
这个方法把数组的值存入对象,所以,在数组存在对象队员的时候,运行失败(对象作为对象的键会被转化为字符串)。
第二种方法:
复制代码 代码如下:
function unique (arr){
for(var i = 0;i < arr.length;i++){
for(var j = i+1;j < arr.length;j++){
if(arr[i] === arr[j]){
arr.splice(j,1);
j--}
}
}
return arr;
}
即使传入的数组包含对象,这个方法也支持,注意‘===',但是使用了嵌套循环,性能会劣于第一种方法。
您可能感兴趣的文章:
- js数组去重的常用方法总结
- JS实现数组去重方法总结(六种方法)
- js数组去重的5种算法实现
- 高性能js数组去重(12种方法,史上最全)
- 史上最全JavaScript数组去重的十种方法(推荐)
- js实现数组去重、判断数组以及对象中的内容是否相同
- JavaScript数组去重的两种方法推荐
- JS实现的合并多个数组去重算法示例
- JS实现的JSON数组去重算法示例
- JavaScript数组去重的五种方法
- js算法中的排序、数组去重详细概述
- JS实现数组去重,显示重复元素及个数的方法示例
- JS实现数组去重及数组内对象去重功能示例
- JS实现的字符串数组去重功能小结
- JS实现字符串去重及数组去重的方法示例
- 关于js数组去重的问题小结
- js数组去重的方法总结
- JS数组去重的常用4种方法