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

}

これは、exの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 に答える