Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery.inArray()是否始终为真?_Jquery_Arrays - Fatal编程技术网

jQuery.inArray()是否始终为真?

jQuery.inArray()是否始终为真?,jquery,arrays,Jquery,Arrays,我尝试使用inarray,但它总是返回真值?有什么想法吗?(所有李的作品都在展出) 您需要这样做: if( $.inArray('Aqua', arrVals) > -1 ) { 或者这个: if( $.inArray('Aqua', arrVals) !== -1 ) { 返回项目的基于0的索引。如果没有项目,则返回 -1 ,其中 IF-(语句将被视为 Trase< /Cord> 从文档中: 因为JavaScript将0粗略地视为等于false(即0==false,但0!==fals

我尝试使用inarray,但它总是返回真值?有什么想法吗?(所有李的作品都在展出)

您需要这样做:

if( $.inArray('Aqua', arrVals) > -1 ) {
或者这个:

if( $.inArray('Aqua', arrVals) !== -1 ) {
返回项目的基于
0
的索引。如果没有项目,则返回<代码> -1 ,其中<代码> IF-(<)/代码>语句将被视为<代码> Trase< /Cord> 从文档中:

因为JavaScript将0粗略地视为等于false(即0==false,但0!==false),如果我们要检查数组中是否存在值,我们需要检查它是否不等于(或大于)-1


编辑:不要将两个值都作为对象推入数组,只需使用其中一个,这样您就有了一个字符串数组,可以从中构建多重选择器

一种方法是这样的:

  // Create an Array from the "value" or "text" of the select options
var arrVals = $.map( $dd[0].options, function( opt, i ){
    return opt.value || opt.text;
});

  // Build a multiple selector by doing a join() on the Array.
$( "#" + arrVals.join(',#') ).show();
如果阵列看起来像:

['Army','Aqua','Bread'];
生成的选择器如下所示:

$( "#Army,#Aqua,#Bread" ).show();

ES6救援!虽然不是jQuery,但我认为值得为未来的读者回答

ES6引入了
.includes()
,它可以按照您的想法工作
$。inArray
应该可以:

constmyarray=[“a”、“b”、“c”];
console.log(myArray.includes(“a”))/*true*/

console.log(myArray.includes(“d”))/*false*/
这是选择列表…Gunmetal HeatherKellyGreenBlackberry@Charles:这是因为
arrVals
数组不包含
'Army'
'Aqua'
,而是包含一个对象,其中
键或
值(不确定是哪个)有你想要的字符串。我怎样才能将if语句建立在它的基础上?@Charles:你有什么理由需要
val()
text()
作为键/值对吗?为什么不只是其中一个呢?如果这样做,实际上可以跳过
inArray
,只需构建一个选择数组中所有元素的多选择器。我马上举个例子。非常感谢!我刚刚意识到我正在用它尝试一些东西,它不应该再在那里了,我只需要val()。。。再次感谢!
$( "#Army,#Aqua,#Bread" ).show();