javascript - 检查数组中的所有值是否相同

标签 javascript jquery

我有一个包含文本框的网页。

当用户向其中输入信息时,它会进行 AJAX 调用以查看输入是否有效,如果无效则禁用按钮。

他们还可以添加多达 10 个文本框,这是通过 jQuery 模板完成的。目前每个文本框都有一类序列,当序列文本框模糊时,它会进行此检查。

如果他们输入无效的序列号,它将禁用该按钮,但如果他们添加一个新的文本框并且该文本框有效,则该按钮现在已启用,这是错误的,因为仍有一个无效。

我能想到的唯一方法是为每个文本框向数组添加 1 或 0,一旦数组中的所有元素都为 1,然后启用按钮。这是一个好方法吗,如果不是,请解释一个更好的方法。如果这是一个好方法,我该如何检查 javascript 数组中的所有值是否相同?

谢谢

最佳答案

这听起来是个不错的方法。您可以使用这个简单的 javascript 函数检查 javascript 数组中的相等元素。您可以将其粘贴到 Firebug 控制台以检查其功能。

// check if all elements of my_array are equal, my_array needs to be an array
function check_for_equal_array_elements(my_array){
  if (my_array.length == 1 || my_array.length == 0) {
     return true;
  }
  for (i=0;i<my_array.length;i++){
     if (i > 0 && my_array[i] != my_array[i-1]) {
       return false;
     }
  }
  return true;
}

//Example:
var my_array = [];
my_array.push(5);
my_array.push(5);

// will alert "true"
alert("all elements equal? "+check_for_equal_array_elements(my_array));

my_array.push(6);
// will alert "false"
alert("all elements equal? "+check_for_equal_array_elements(my_array));

关于javascript - 检查数组中的所有值是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6277476/

相关文章:

javascript - 如何使用 wrapInner() 将特定内容包装在 ah html 标签内?

javascript - JQuery matchMedia .scroll 不起作用?

jquery - 增加字符串中间的数字

javascript - 尝试通过javascript从音频文件中获取分贝级别

javascript - 实现 jQuery 下拉效果

javascript - 在javascript中读取cookie,由asp.net c#code制作

javascript - Bootstrap 4 Popover CSS 不动态变化

jquery - 如何模拟追加回调函数?

javascript - 使用 JavaScript 在输入字段中写入字符时自动建议

javascript - 如何在不提供绝对路径的情况下流式传输音频文件