0

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

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 进行比较?

4

1 回答 1

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 <= 8 没有实现Array.indexOf(),所以如果这是一个问题,你需要自己添加它。

于 2012-11-07T15:56:45.990 回答