需要解释javascript函数从数组中删除重复

时间:2014-01-15 18:50:13

标签: javascript arrays

我在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;
}

谢谢!

1 个答案:

答案 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;阵列。