使用jQuery $ .inArray

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用jQuery $ .inArray相关的知识,希望对你有一定的参考价值。

我需要将动态创建的变量与静态值数组进行比较。由于变量是动态生成的,因此我无法执行类似的操作

if ($.inArray('example', myArray) != -1)
{
  // found it
}

到目前为止,我有这是>

 //This runs for each link in the .lc_Cell element
  $('.lc_Cell > p > a').attr('href', function(i, href) {

        //Grab the link and split it into chunks at each occurence of '&'
        var arr = href.split('&');
        console.log(arr);

        //Keep a portion of the link as a var, this is always a 4 digit number
        //For the purposes of this question lets say this value is going to be 7473 
        var trId = arr[1].slice(-4); 
        console.log(trId);

        //Populating my array of desired numbers to search against
        var validTR = [7473, 7474, 7475, 7476, 7477, 7478, 7479, 7480, 7481, 7482, 7483, 7484, 7485, 7486, 7487, 7488, 7489, 7490, 7491, 7492, 7493, 7494, 7495, 7351]; 
        console.log(validTR);       


        //Compare the sliced value from the link against the array
        var testingID = $.inArray(trId, validTR)
        console.log(testingID);
}

我的控制台中的testingID始终返回-1,即使trId中的值是数组中包含的值。

最终,我需要能够为testingID获得一个正值,这样我才能编写if语句,之后再做某事。

我需要将动态创建的变量与静态值数组进行比较。由于该变量是动态生成的,因此我无法执行以下操作:if($ .inArray('example',myArray)!= -1){// ...

答案

根据docs

另一答案
  • validTR数组仅包含数字。
另一答案

它起作用了,您得到-1,因为它不包含它,请检查:

以上是关于使用jQuery $ .inArray的主要内容,如果未能解决你的问题,请参考以下文章

jQuery.inArray(),如何正确使用?

$.each 和 jQuery.inArray 函数组合的奇怪输出

使用jQuery $ .inArray

如何使用 jQuery.inArray 方法选择一组唯一的随机数(不重复)?

jQuery.inArray( value, array )

使用 jquery inarray() 搜索字符串变量返回 -1