我爱撸码,撸码使我感到快乐!
大家好,我是Counter。
今天给大家分享的是利用js进行数组的去重,还是老样子,该注释的都注释在代码里了
欢迎一起技术探讨,一起成长。
效果如下:
代码给出:
// 给本地数组对象,添加一个原型方法distinct Array.prototype.distinct = function () { // 定义一个空数组 var ret = []; // 循环遍历数组 for( var i = 0; i < this.length; i++) { // 循环遍历每次都比i大1,意味着,i是第一位时,j是2位,拿数组第一位与第二位,以及以此对比,如果跟数组第一位重复,那么删除,以此类推。仅且仅当不重复时,也就是没有裁剪,才需要j++,否则裁剪,j自动变为下一位 for( var j = i + 1; j < this.length; ) { if ( this[i] === this[j]) { // 将裁剪后的数组的第一位添加到自己定义的空数组里 ret.push(this.splice( j, 1 )[0]); } else { j++; } } } // 返回数组 return ret; }