视频软件App开发引领数字内容创作与分享的新时代
830
2022-09-08
js hash去重
js中的hash去重是建立在对象的基础之上。因为对象属性的添加利用了hash算法。
/** * hash去重:不是自己去写hash算法 利用对象属性的添加内部应用了hash算法 * * 思路:将元素 作为对象的属性进行添加 当对象内没有此属性时 将此元素作为属性添加 * 否则不添加 * hash表:线性表+链表 * 功能:无论查找还是添加都非常快 */ arr = [1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, '1', '2']; result = []; var hash = {}; //无法识别 number1和string1 for (var i = 0; i < arr.length; i++) { if (!hash[arr[i]]) { result.push(arr[i]); hash[arr[i]] = 200; } } console.log(result); console.log( hash);//{1: 200, 2: 200, 3: 200, 4: 200, 5: 200, 6: 200, 7: 200, 8: 200} console.log('---------------------------------------------'); console.log(typeof 1); console.log(typeof '1'); arr = [1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, '1', '2']; result = []; hash = {}; var type = ''; /** * 解决无法识别字符串和number类型的数据 */ for (var i = 0; i < arr.length; i++) { type = typeof arr[i]; if (!hash[arr[i]+type]) { result.push(arr[i]); hash[arr[i]+type] = 200; } } console.log(result); console.log(hash);//{1number: 200, 2number: 200, 3number: 200, 4number: 200, 5number: 200, …}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~