var valueArray = ['ABC','DEF','GHI','ABC','JKL','MNO','DEF'];
var flag =false;
for(var i=0; i<valueArray.length; i++)
{
for(var j=0; j<valueArray.length; j++)
{
if(valueArray[j] == valueArray[i] && j != i)
{
flag = true;
break;
}
}
}
if(flag)
alert('same values found');
我试图通过检查重复值来验证一个数组,我在上面的代码中使用过,我认为这不是更好的方法。
jquery
有什么方法可以解决这个问题,或者有什么好的js
代码呢? 最佳答案
不确定jquery,但仅使用一个for循环,性能会更好:
for(var i = 0; i < valueArray.length; i++)
{
if (valueArray.indexOf(valueArray[i], i+1) != -1) {
flag = true;
break;
}
}
jsPerf测试:http://jsperf.com/check-for-double-occurences