【发布时间】:2013-08-13 08:34:32
【问题描述】:
我的目标是找出一个数组中是否至少有两个不同的值。如何使用纯 javascript 找出这一点。到现在为止,我用这个函数,谁告诉我一个数组中是否有重复的值...
function verificar(array)
{
var filtrado_arr = array.sort();
var resultados = [];
for (var i = 0; i < array.length - 1; i++) {
if (filtrado_arr[i + 1] == filtrado_arr[i]) {
resultados.push(filtrado_arr[i]);
}
}
if (resultados.length > 0)
{
alert("Repeated results"+resultados+".Unable to send to graph.");
return false;
}
else
{
alert("No repeated measures, we can set graph");
return true;
}
}
当然,这还不够。
【问题讨论】:
-
如果数组的大小大于1,排序后比较最后一个元素和第一个元素
-
为什么要麻烦排序,除非它需要用于未显示的东西?只需将数组的第一个元素与其他元素进行比较,直到 (a) 发现差异或 (b) 都已比较且未发现差异。
-
另外,根据您声明的目标,第二次打印具有误导性。第二次打印听起来像是零重复,而既定目标是至少有两个不是重复的。 A、AM B 达到既定目标,但未达到第二次印刷。 A、B C 符合第二次印刷。
标签: javascript arrays function sorting