1.相邻项的处理方案
let ary = [12,12,23,23,44,55,66,77,66,44,99]
ary.sort((a,b)=>a-b);
console.log(ary);
ary=ary.join('@')+'@';
console.log(ary);
let reg = /(\d+@)\1*/g;
arr= []
ary.replace(reg,(val,group1)=>{
console.log(val,group1);
arr.push(Number(group1.slice(0,group1.length-1)))
})
console.log(arr);
2.对象键值对
let obj = {};
for (let i = 0; i < ary.length; i++) {
const item = ary[i];
if(typeof obj[item]!=='undefined'){
ary[i] = ary[ary.length-1]
ary.length--;
i--
continue;
}
obj[item] = item;
}
obj=null
console.log(ary);
3.set
let arr = new Set(ary);
console.log(Array.from(arr));
console.log([...arr]);
4.es5
let arr = []
for (let i = 0; i < ary.length-1; i++) {
let item = ary[i];
args = ary.slice(i+1)
if(args.indexOf(item)>-1){
}else{
arr.push(item)
}
}
let arr = []
for (let i = 0; i < ary.length-1; i++) {
let item = ary[i];
args = ary.slice(i+1)
if(args.indexOf(item)>-1){
ary[i] = null
}
}
current = ary.filter(item=>item!==null)
let arr = []
for (let i = 0; i < ary.length-1; i++) {
let item = ary[i];
args = ary.slice(i+1)
if(args.indexOf(item)>-1){
ary[i] = ary[ary.length-1]
ary.length--;
i--
}
}