Jquery 使用inArray进行搜索
我使用jquery inArray搜索具有关联数组的元素。以下代码中我做错了什么?它返回-1 小提琴- 您的Jquery 使用inArray进行搜索,jquery,Jquery,我使用jquery inArray搜索具有关联数组的元素。以下代码中我做错了什么?它返回-1 小提琴- 您的$.inArray()用法将在数组中查找3435345,并返回索引。您正在将一个对象添加到该数组的3435345索引中。这就是如何使用$.inArray() 这将返回0 您可能想要创建一个哈希表?在这种情况下,请这样做 var obj = {}; obj[3435345] = { location: 'Earth' }; if ( obj.hasOwnProperty(3435345) )
$.inArray()
用法将在数组中查找3435345
,并返回索引。您正在将一个对象添加到该数组的3435345索引中。这就是如何使用$.inArray()
这将返回0
您可能想要创建一个哈希表?在这种情况下,请这样做
var obj = {};
obj[3435345] = { location: 'Earth' };
if ( obj.hasOwnProperty(3435345) ) {
// It exists!
}
$。inArray
搜索值,而不是键。这不是“关联数组”。这些在JavaScript中不存在!有数字数组([]
)和对象({}
)。我建议在这里放一个物体。使用数组执行arr[3435345]
,也会将索引0-3435344添加到数组中(如undefined
)!您应该这样做:var obj={};obj[3435345]={位置:'地球'};console.log(对象hasOwnProperty(3435345))代码>没问题!很高兴我能帮忙。
var arr = [];
arr.push(3435345);
var index = $.inArray(3435345, arr);
var obj = {};
obj[3435345] = { location: 'Earth' };
if ( obj.hasOwnProperty(3435345) ) {
// It exists!
}