去重:
创建一个空数组和一个空对象,在for循环中,每次取出一个元素,检测是否已经是对象的key,如果不存在就加入到新建的数组中。
降维:
由于不能给this赋值,所以先将数组赋值给that。在for循环中,每次取出一个元素,检测是否是数组。如果是,把数组拆分成3个部分:当前元素之前所有元素组成的数组、当前元素(也是数组)、当前元素之后的所有元素组成的数组。用concat将这三个数组重新合并为一个新数组,由于for循环会index+1,把当前的index-1,保持index不变,重新做一次检测。因为当前元素这个数组里面的第一个元素也可能还是一个数组。
// 去重 Array.prototype.unique = function(){ var res = [], json = {}, i = 0, len = this.length; for(; i < len; i++) { if(!json[this[i]]) { res.push(this[i]); json[this[i]] = 1; } } return res; }; // 降维,支持N维数组 Array.prototype.dr = function(){ var that = this; // 不能给this赋值 for (var i = 0; i < that.length; i++) { if(that[i] instanceof Array){ that = that.slice(0, i).concat(that[i], that.slice(i+1)); i--; } } return that; };
相关推荐
php的二维数组去重,数据结构重建和js数组去重最简方法
JavaScript Array数组去重源码下载
JavaScript数组去重的几种方法数组去重的几种方法新建数组法同一个数组删除法利用object/map/set去重法先排序再移除法Filter与indexO
数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有哪些?你能答出其中的10种,面试官很有可能对你刮目相看。 在真实的项目中碰到的数组去重,一般都是...
本文实例总结了JavaScript数组去重的方法。分享给大家供大家参考,具体如下: 数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。如果是被提问到,数组去重的方法有哪些?你能答出其中的...
JavaScript数组去重功能的设计与实现.pdf
js数组去重-duplicateRemoval 使用原生js和$.inArray进行元素判断
js数组去重
本文给大家收藏整理了js数组去重的n种方法,大家可以根据自己需要选择比较好的方法,感兴趣的朋友一起看看吧
这个代码可以帮你将数组中重复的元素筛选掉,不妨一试
javascript数组去重小结_.docx
【JavaScript源代码】JavaScript数组去重问题的深入研究.docx
主要介绍了vue中对象数组去重的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
给大家总结下JS实现数组去重方法(六种方法),面试中也经常会遇到这个问题。文中给大家引申的还有合并数组并去重的方法,感兴趣的朋友跟随脚本之家小编一起学习吧
方法一:利用双层for循环通过原数组去重,就是遍历数组,把数组的每一个值依次与后面的值进行比较,如果不相同则存入新数组。 测试代码: var arr = [1, 6, 8, 32, 1, 66, 8, 6]; function noRepeat(arr) { var _...
js对字符串(逗号隔开的)进行去重操作;js对json数组进行去重操作(指定某个属性),开发中经常遇到的前端小方法,简单实用
JavaScript 数组去重!!
主要给大家介绍了关于JavaScript数组去重的几种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧