JavaScript数组去重的两种实现方式
写了两个,当然还有一些其他的方式,es6的也很方便
<script>
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 11, 12, 13, 13, 14, 15];
/**
* 利用对象属性不能重复的的原理
* @returns {Array}
*/
Array.prototype.unique = function () {
console.time("testObj");
var temp = {};
var res = [];
var len = this.length;
for (var i = 0; i < len; i++) {
if (!temp[this[i]]) {
temp[this[i]]="unique";
res.push( this[i]);
}
}
console.timeEnd("testObj");
return res;
}
/**
* 使用indexof去重
* @returns {Array}
*/
Array.prototype.unique2 = function () {
console.time("testIndexOf");
var temp = {};
var res = [];
var len = this.length;
for (var i = 0; i < len; i++) {
if(res.indexOf(this[i])===-1){
res.push(this[i]);
}
}
console.timeEnd("testIndexOf");
return res;
}
</script>
版权声明:
作者:东明兄
链接:https://blog.crazyming.com/note/485/
来源:CrazyMing
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
海报
JavaScript数组去重的两种实现方式
写了两个,当然还有一些其他的方式,es6的也很方便
<script>
var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 11, 12, 13, 13, 14, 15];
……
共有 0 条评论