我在Javascript中发现这个函数给出一个数组并得到一个没有重复的数组。 有人可以解释我的每一行代码吗?
function removeDuplicate(array)
{
var i, len=array.length, out=[], obj={};
for (i=0;i<len;i++)
{
obj[array[i]]=0;
}
for (i in obj)
{
out.push(i);
}
return out;
}
谢谢!
答案 0 :(得分:1)
首先是变量定义。 &#39;我&#39;是循环的idnex,后来用作值持有者。 &#39; LEN&#39;只是array.length的简写。 &#39;出&#39;是一个新的数组,它是作为函数进程构建的。最后,&#39; obj&#39;是一个我们存储值的对象。
现在,我们有了第一个循环,它遍历输入数组。在该循环中,我们使用数组的值作为属性名称和&#39; 0&#39;在obj中创建一个属性。作为财产价值。如果数组的任何元素具有重复值,则在&#39; obj&#39;中使用相同的属性名称。将被使用(这是删除重复的地方)。
Next Loop,我们在&#39; obj&#39;中的属性上有一个for循环,并将这些属性名称推送到&#39; out&#39;阵列。
最后一行返回我们的&#39; out&#39;阵列。