Javascript 如何比较多个值并显示错误

Javascript 如何比较多个值并显示错误,javascript,Javascript,看看这个: var a1 = 1; var a2 = 2; var a3 = 5; var a4 = 2; . . var a100 = 7; 我说过,100个这样的变量。我想比较这些变量,如果任何两个或两个以上的变量有相似的值,就会显示一个错误。我不想这样走很长的路: if((a1 == a2) || (a1 == a3) || ... || (a1 == a100)) { //do something } if((a2 == a1) || (a2 == a3) || ... || (a

看看这个:

var a1 = 1;
var a2 = 2;
var a3 = 5;
var a4 = 2;
.
.
var a100 = 7;
我说过,100个这样的变量。我想比较这些变量,如果任何两个或两个以上的变量有相似的值,就会显示一个错误。我不想这样走很长的路:

if((a1 == a2) || (a1 == a3) || ... || (a1 == a100))
{
  //do something
}
if((a2 == a1) || (a2 == a3) || ... || (a2 == a100))
{
  //do something
}
请建议一个较短的方法

注意:变量只包含整数值。

带正则表达式

if (/^(something|nothing|anything|everything)$/.exec('jesus')) alert('Who cares?');​
或者相反:

/^(something|nothing|anything|everything)$/.exec('jesus')||alert('Who cares?');
[更新]更短;-)


这就是阵列的用途

var a = new Array();
a[0] = 1;
a[1] = 2;
a[2] = 5;
a[3] = 2

var found = false;
for(i = 0;a.length > i;++i)
{
  for(j = i+1; j < a.length;++i)
  {
    if(a[i] != a[j])
    {
      found = true;
      //do something
    }
  }
}
if(!found)
{
  // no dupes, do something else.
}

你有什么建议:)你定义了这100个变量吗O您可以提供整数值,或任何您想要的内容。如何在其中提供整数值。请给出一个示例。您可以通过在O(log(n))时间内对数组进行排序,然后在O(n)时间内将每个项与相邻项进行比较来提高性能。我怀疑对于小的集合(按100或200的顺序),差异是重要的,但是如果我们谈论成千上万,你可能想考虑它。
var a = new Array();
a[0] = 1;
a[1] = 2;
a[2] = 5;
a[3] = 2

var found = false;
for(i = 0;a.length > i;++i)
{
  for(j = i+1; j < a.length;++i)
  {
    if(a[i] != a[j])
    {
      found = true;
      //do something
    }
  }
}
if(!found)
{
  // no dupes, do something else.
}
var a1 = 1; 
...

var a100 = 30;

var found = false;
for(i = 1;100 >= i; ++i)
{
  for(j = i+1;100 >= j;++j)
  {
    if( eval('a' + i + ' != a' + j) ) //yuck, but it should work.
    {
      found = true;
      // do something.
    }
  }
}
if(!found)
{
  //no dupes. do something else.
}