将数组的元素与同一数组的所有先前输入的元素进行比较

时间:2012-11-07 15:38:01

标签: javascript arrays for-loop

当用户仍在输入此数组的值时

for( var i=0;i<names.length;i++)
{  
   ID[i]=prompt("Enter The Id number of "+names[i],"ID number");
   for(var w=0;w<ID.length;w++)
{ 
   if(ID[i]==ID[i-1])
   {
       window.alert("You Have Already Entered That Id Number!");
       break;
   }
}

}

我知道这只会比较ID [1]和ID [0],例如

我不希望它比较ID [0]因为它输入的第一个元素

所以如何修改它以便将ID [i]与之前输入的所有ID进行比较?

1 个答案:

答案 0 :(得分:0)

这将允许您重新输入重复值。

for( var i=0;i<names.length;i++)
{
   ID[i]=prompt("Enter The Id number of "+names[i],"ID number");
   if(ID.slice(0,i).indexOf(ID[i])>-1)
   {
      window.alert("You Have Already Entered That Id Number!");
      i--;
   }
}

编辑 - 显然Internet Explorer&lt; = 8没有实现Array.indexOf()所以如果这是一个问题,你需要自己添加它。