2016-11-16 32 views
0

嗨我正在开发与jQuery的MVC4应用程序。我的代码中有以下数组。这比较了数组中的所有元素是否相等。如果数组相等,则返回true,否则返回false。 这是我的代码。如何检查jQuery数组中的所有值是否等于一个指定的字符串?

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只有当所有的元素都是平等的,每个元素应该等于特定字符串,如“未验证”。我想对特定的字符串进行比较。例如,如果所有列表元素都等于Verified,则返回true,但是只有当所有元素都等于特定字符串“Not verified”时才会发生这种情况。我尝试如下。

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

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

有人可以告诉我一些有价值的建议。感谢您的时间。

回答

1

在我看来,你需要使用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

+0

我刚刚发现的低于var te mp = list.every(elem => elem =='Not Verified'); –

+0

我参考这篇文章https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/every,作品像魅力,我可以看到我们都回答匹配。感谢您宝贵的时间。 –

1

您可以使用这里独特的功能

var a = ["verified","verified","verified"]; 
 
var b = ["verified","nonverified","verified"]; 
 

 

 
function checkIfSame(key,arr){ 
 
    var uniq = $.unique(arr); 
 
    if(uniq.length==1 && uniq[0]==key){ 
 
     return true; 
 
    }else { 
 
    return false; 
 
    } 
 
} 
 

 
console.log(checkIfSame("verified",a)); 
 
console.log(checkIfSame("verified",b));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

相关问题