javascript - 如何检查jquery数组中的所有值是否等于一个指定的字符串?

标签 javascript jquery arrays

嗨,我正在使用 jquery 开发 MVC4 应用程序。我的代码中有以下数组。这比较数组中的所有元素是否相等。如果数组相等则返回 true,否则返回 false。 这是我的代码。

 var list = new Array();
            $('input[id=Status]').each(function (i, item) {
                list.push($(item).val().trim());
            });
            var statusCheck=!!list.reduce(function(a, b){ return (a === b) ? a : NaN; });
            if(statusCheck==true)
            {
                fun_toastr_notify('success', 'Please verify the documents');
                e.preventDefault();
            }

I expect the result as below. I want to return true only when all the elemets in the array are equal to "Not Verified".  
var list = ["Not Verified", "Not Verified", "Not Verified"] => result: "true"
var list = ["Verified", "Verified", "Verified"] => result: "false"
var list = ["Not Verified", "Verified"] => result: "false"

但是,仅当所有元素都相等并且每个元素应等于特定字符串(例如“未验证”)时,我才想返回 true。我想对特定字符串进行比较。例如,如果所有列表元素都等于“已验证”,则它返回 true,但我希望仅当所有元素都等于特定字符串“未验证”时才会发生这种情况。我尝试如下。

  var statusCheck=!!list.reduce(function(a, b){ return (a.val=='Not Verified' === b.val=='Not Verified') ? a : NaN; });

当列表的元素被“验证”时,上面的代码行返回 true。

有人可以告诉我一些宝贵的建议吗?感谢您抽出时间。

最佳答案

在我看来你需要使用Array.prototype.every:

["Not Verified", "Not Verified", "Not Verified"].every(function (value) { return value === "Not Verified"}); // true
["Verified", "Verified", "Verified"].every(function (value) { return value === "Not Verified"}); // false
["Not Verified", "Verified"].every(function (value) { return value === "Not Verified"}); // false

请查看this documentation

关于javascript - 如何检查jquery数组中的所有值是否等于一个指定的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40624969/

相关文章:

javascript - 如何添加if条件

javascript - 在 Rails 4 JS/ERB 模板中嵌入 JSON

javascript - 如何在 Android/iOS 上的 webview/移动浏览器中最好地预缓存视频?

javascript - bool 函数来了解鼠标按钮的位置

用于表单问候语的javascript

ruby-on-rails - 如何填充字符串数组以避免嵌套循环

PHP 数组 : cross data

c++ - 这些数组类型有何不同?

javascript - JS - jQuery - 启用禁用带有复选框的表单字段

javascript - KnockoutJS 选项绑定(bind),无法在父上下文中设置值