用Javascript总结数组中各种权重的去除方法
前言在进行Javascript开发时,经常遇到数组元素重复的问题。Javascript数组不直接提供解决这个问题的方法,但也需要自己做。本文总结了在Javascript中删除数组权重的各种方法,并一起查看。
方法使用对象属性不重复的属性。
array.prototype.distinct =函数(){
var arr =这,
我,
obj = { },
结果= { },
arr.length len =;
为(i = 0;i < arr.length;i++){
(如果!obj { } { } {我ARR) / /如果我们可以找到证明数组元素重复
obj { {我} } = 1度;
result.push(ARR {我});
}
}
返回结果;
};
方法两层循环,外循环元素,内循环比较值
array.prototype.distinct =函数(){
Var arr = this,
结果= { },
我,
J,
arr.length len =;
对于(i = 0;i;;i;+;+){
对于(j = i + 1;j;<;j + +){
如果(ARR { } { } = ARR J){
J = + +我;
}
}
result.push(ARR {我});
}
返回结果;
}
方法三组重症患者。
array.prototype.distinct =函数(){
var arr =这,
arr.length len =;
Arr.sort(功能(A,B){ / /数组方便比较排序
返回一个B;
})
函数循环(索引){
如果(索引> = 1){
如果(ARR { } = { }度指数指数){
arr.splice(指数1);
}
循环(索引- 1);递归函数
}
}
环(len-1);
报酬;
};
方法四使用索引和foreach
array.prototype.distinct =函数(){
var arr =这,
结果= { },
arr.length len =;
arr.foreach(功能(V,I,ARR){ / /在地图,滤波器也可以实现
Var bool = arr.indexOf (V, i+1); / / to find whether there is repeated from the incoming parameters under an index value
如果(bool = 1){
result.push(V);
}
})
返回结果;
};
方法五使用套ES6
功能的重复数据删除(阵列){
返回array.from(新(数组));
}
重复数据删除({ 1,1,2,3 }) / / {1,2,3}
方法六扩展运算符(…)内部循环的用法
让3,5,2,2,5,5 ARR = { };
让唯一= {…新的设置(ARR)}; / / { 3,5,2 }
总结
以上就是本文的全部内容。就我个人而言,我更喜欢使用方法。我不会修改原始数组。我希望这篇文章能对你有所帮助。如果有任何疑问,你可以留言。