我有一个问题,jQuery.InArray()
当我运行一个函数时返回 -1,但我知道我正在测试的值肯定在数组中。
我知道它们在数组中,因为如果我在运行之前 console.log 数组jQuery.inArray()
的值存在并显示。这是我正在使用的示例:
/* -- In page.php -- */
images = [8, 13, 21, 32, 40, 56];
/* -- In script.js -- */
console.log('images->', images);
//output images-> [8, 13, 21, 32, 40, 56]
var testingValue = 13;
console.log('inArray->', jQuery.inArray(testingValue, images)); //Should return 1
//output inArray-> -1
console.log('inArray->', jQuery.inArray(13, images)); //Should return 1
//output inArray-> -1
console.log('inArray->', jQuery.inArray("13", images)); //Should return -1
//output inArray-> -1
console.log('inArray->', jQuery.inArray('13', images)); //Should return -1
//output inArray-> -1
所有这些都返回-1
,即使前两个应该返回1
。奇怪的是,如果我jQuery.inArray(testingValue, images)
在控制台中手动测试,我得到的值是 1。
需要注意的一点: 该变量images
是在包含 js 文件的 php 页面中创建的。这应该不是问题。
附加说明:是的,在这部分脚本运行之前就包含了 jQuery。在此之前,许多其他 jQuery 函数都已成功运行。
我想知道这个功能是否有任何问题。我过去曾成功使用过它,但我的代码看不到任何会阻止它返回正确值的东西。