数组去重

var arr = [1,1,1,0,0,0,'a','b','c'];    去掉数组中的重复数据。

利用对象中属性不能重复的特性,可以很方便的实现数组去重功能。以下是我自己实现的方法:

数组去重

代码虽然不多,但其中有两个循环,第一个循环利用对象属性不能重复的特点,存储数组的所有数据,同时去重,第二个循环遍历对象重组数组。由于循环过多,所以不是最好实现方案,可以考虑去掉一个循环,如下:

数组去重最佳方法

遍历数组的同时判断是否已经存储过,如果没有存储过,则存入一个任意字符串‘abc’,这里可能比较难以理解,这个地方不能写成  this[i] ,为防止出现数字0的情况,如果有 0,!obj[this[i]] 这个判断条件则会一直进入,导致无法去重0,所以使用一个不为0的任意值。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容