方法一:
var arr=[2,8,5,0,5,2,6,7,2];
function unique1(arr){
var hash=[];
for (var i = 0; i < arr.length; i++) {
if(hash.indexOf(arr[i])==-1){
hash.push(arr[i]);
}
}
return hash;
}
方法二:
function unique2(arr){
var hash=[];
for (var i = 0; i < arr.length; i++) {
if(arr.indexOf(arr[i])==i){
hash.push(arr[i]);
}
}
return hash;
}
// 可以用filter实现类似效果
arr.filter((item,index,self)=>{
return self.indexOf(item) === index
})
方法三:
function unique3(arr){
var hash=[];
for (var i = 0; i < arr.length; i++) {
for (var j = i+1; j < arr.length; j++) {
if(arr[i]===arr[j]){
++i;
j = i;
}
}
hash.push(arr[i]);
}
return hash;
}
方法四:
function uniq(arr){
let obj = {};
let data = [];
arr.forEach(item => {
if(!obj[item]){
obj[item] = true;
data.push(item);
}
});
return data;
}
方法五:
var unique4 = [ ...new Set(arr) ]
网友评论