数组去掉重复项

david___ 2016-10-09 03:49:50
Array.prototype.unique2 = function()
{
var n = {},r=[]; //n为hash表,r为临时数组
for(var i = 0; i < this.length; i++) //遍历当前数组
{
if (!n[this[i]]) //如果hash表中没有当前项
{
n[this[i]] = true; //存入hash表
r.push(this[i]); //把当前数组的当前项push到临时数组里面
}
}
return r;
}

其中的
if (!n[this[i]]) //如果hash表中没有当前项

是什么意思
...全文
211 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cooljser 2016-10-13
  • 打赏
  • 举报
回复
数组去重可以用es6的新方法,new Set([1,1,2,3]);
david___ 2016-10-09
  • 打赏
  • 举报
回复
懂了,谢啦
jio可 2016-10-09
  • 打赏
  • 举报
回复
var n = {a:1,b:2}; console.log(n['a']); console.log(n.a); console.log(n['c']);//这个是不存在的,所以执行if里面添加属性c,然后新数组加入这个值 //n['a']和n.a的效果是一样的,json里面key是不可能重复的.所以用这个来过滤重复
Go 旅城通票 2016-10-09
  • 打赏
  • 举报
回复
n[this[i]] = true; //存入hash表 n是json对象,如果this[i]键名称不存在则n[this[i]] 为undefined,!undefined就是true了。。,执行代码段。如果存在!true得到false,就是不执行push操作

87,918

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧