Javascript array

Javascript array

本文关键字:array Javascript      更新时间:2023-09-26

我正在处理来自另一个开发人员的一些代码,并且遇到了一些我以前从未见过的东西。该代码的基本功能是在对象中的对象中查找数据块。对象格式为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']做什么?

正在寻找对象n - n['data']n.data相同的属性data

n['data']n.data相同,但有时使用括号是有用的,例如当您需要使用n['data'][inkey]等变量时。

顺便说一句,你或他应该使用n.data.hasOwnProperty(inkey)而不是typeof(n['data'][inkey]) != "undefined"

你可以这样写:

$.each(theObj, function(m,n){
    if(n.data.hasOwnProperty(inkey) && n.data[inkey] !== null) {
        if(n.data[inkey][lookfor] == 1){..}
    }
});

data是对象的属性名或键。因此,n['data']将返回对象n中属性名称data的属性值。

你拥有的是一个对象而不是数组。

数组包含基于整数索引的元素列表,而其他对象包含基于键索引的元素列表。