Jquery数组包含

时间:2016-07-27 11:24:44

标签: jquery arrays

我有一个数组,其中包含所有选中复选框的所有名称。如何检查该数组是否包含除给定字符串以外的特定值。

cast(map:get(dataMap, 'clientPublicId'),'string')

如何检查数组selected_options是否还有其他元素,而不是说'CancelTerms'?

2 个答案:

答案 0 :(得分:1)

我认为不需要为此创建数组。只需使用attribute equals selector(或:not() pseudo-class selector方法)使用not()过滤掉没有特定名称值的元素,并获取其长度。

template2

如果您想使用数组,请使用Array#some方法。

if($('input[checked=checked]:not([name="CancelTerms"])') .length > 0){
   // code
}
可以使用

Array#filter方法。

if(selected_options.some(function(v){ return v != "CancelTerms"; })){
   // code
} 

答案 1 :(得分:0)

您可以检查数组的长度,不包括其中的特定值出现次数:

var selectedcount = selected_options.reduce(function(n, "CancelTerms") {
      return n + (val === search);
}, 0);
if(selected_options.length - selectedcount  > 0){
   //other elements exists
}

工作代码段

var selected_options = ["str1","CancelTerms"];
var selectedcount = selected_options.indexOf('CancelTerms') > -1 ? 1 : 0;
if(selected_options.length - selectedcount  > 0){
   console.log("other elements exists")
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>