Javascript数组
我正在使用另一个开发人员的一些代码,遇到了一些我以前从未见过的东西。代码的基本功能是在对象中查找对象中的一段数据。对象格式为Javascript数组,javascript,jquery,arrays,Javascript,Jquery,Arrays,我正在使用另一个开发人员的一些代码,遇到了一些我以前从未见过的东西。代码的基本功能是在对象中查找对象中的一段数据。对象格式为theObj{key:object,key:object,…},正在搜索的数据存储在两个变量inkey,lookfor中 $.each(theObj, function(m,n){ if(typeof(n['data'][inkey]) != "undefined" && n['data'][inkey] !== null) { if
theObj{key:object,key:object,…}
,正在搜索的数据存储在两个变量inkey
,lookfor
中
$.each(theObj, function(m,n){
if(typeof(n['data'][inkey]) != "undefined" && n['data'][inkey] !== null) {
if(n['data'][inkey][lookfor] == 1){..}
}
});
['data']
做什么?它在对象中查找属性data
n
-n['data']
与n相同。data
数据
是对象中的属性名称或键。因此n['data']
将返回对象n
中属性名data
的属性值
你拥有的是一个对象而不是数组
数组包含基于整数索引的元素列表,而else对象包含基于键索引的元素列表
n['data']
与n.data
相同,但有时在需要使用n['data'][inkey]
等变量时使用括号是很有用的
顺便说一句,你或他应该使用n.data.hasOwnProperty(inkey)
而不是typeof(n['data'][inkey])!=“未定义”
你可以这样写:
$.each(theObj, function(m,n){
if(n.data.hasOwnProperty(inkey) && n.data[inkey] !== null) {
if(n.data[inkey][lookfor] == 1){..}
}
});
它与
n.data
相同。它是对象中的键。意思是n['data']表示获取对象n中键(属性名)数据的值。它被称为括号表示法。它访问属性数据
或对象n
。您已经从数组中了解到这一点:arr[0]
访问数组的第一个元素,即数组arr
的属性0
。相关:。