原文:https://www.cnblogs.com/baiyangyuanzi/p/6726258.html
var uique2 =()=>{
//思路:获取没重复的最右一值放入新数组
var res =[],index=[],len=arr.length;
for(var i=0;i<len;i++){
for(var j=i+1;j<len;j++){
if(arr[i] ===arr[j]){i++;j=i}
}
res.push(arr[i]);
index.push(i);
}
return res;
// console.log(res);
// console.log(index);
}
var uniqueByindex =(arr)=>{
//实现思路:如果当前数组的第i项在当前数组中第一次出现的位置不是i
var res=[],len=arr.length;
for(var i=0;i<len;i++){
var item = arr[i];
if(arr.indexOf(item) == i){
res.push(item);
}
}
return res;
// console.log(res);
}
var uniqueBysort =(arr)=>{
var res = [arr[0]],len=arr.length;
arr.sort();
for(var i=0;i<len;i++){
var item = arr[i];
if(item!==res[res.length-1]){
res.push(item);
}
}
return res;
}
var uniqueBytemp =(arr)=>{
//思路
//新建一js对象({})以及新数组([]),
//遍历传入数组时,判断值是否为js对象的键
//否则判断数组元素的 typeof 类型是否在对象中
var res =[],temp={},len = arr.length;
for(i=0;i<len;i++ ){
var item = arr[i],type =typeof item;
if(!temp[item]){
temp[item] =[item];
res.push[item]
}else if(temp[item].indexOf(type)<0){
temp[item].push(type);
res.push(item);
}
}
return res;
}
var unique =(arr)=>{
var res =[];
arr.map(item=>{
if(res.indexOf(item) ==-1){
res.push(item);
}
})
return res
}