js阵列重复数据消除的哈希方法
有许多方法可以从JavaScript数组中删除重复项,其中之一是哈希,如下所示:
if(!array . prototype . unique){ array . prototype . unique=function(){ var hash={ },result=[],itemfor(var I=0;我这个长度;I){ item=this[I];if(!hash[item]){ hash[item]=true;result.push(项);} }返回结果;};}但是,这种方法并不严格,无法区分数字1和字符串“1”
var arr=[0,1,' 1 ',true,5,true,false,undefined,undefined,null,null];arr . unique();
修改并添加数据类型判断:
if(!array . prototype . unique){ array . prototype . unique=function(){ var hash={ },result=[],type=' ',itemfor(var I=0;我这个长度;I){ item=this[I];type=object . prototype . tostring . call(item);if(!hash[项目类型]){ hash[项目类型]=true;result.push(项);} }返回结果;};}
至少目前可以精确复制五种原始数据类型的值,也可以复制一些引用类型——数组和函数的值,但是对象类型——{ ' name ' : 1 }、{'name' : 2}无法区分。
以上就是本文的全部内容。希望本文的内容能给大家的学习或工作带来一些帮助,也希望多多支持我们!
版权声明:js阵列重复数据消除的哈希方法是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。