bei*_*lex 5 javascript arrays jquery
我有一个这样的数组:
var myArray = new Array();
myArray['foo'] = {
Obj: {
key: value
}
};
myArray['bar'] = {
Obj: {
key: value
}
};
Run Code Online (Sandbox Code Playgroud)
当我这样做时,console.log(myArray)我只是变空了[ ]。当我尝试使用 jQuery 迭代数组时,each该函数不会运行。
如何获取数组的“foo”和“bar”部分?
示例代码:
console.log(myArray); // [ ]
jQuery.each(myArray, function(key, obj) {
console.log(key); // should be 'foo' following by 'bar'
});
Run Code Online (Sandbox Code Playgroud)
此外,为什么这样做:
jQuery.each(myArray[foo], function(obj, values) {
// Why does this work if there are no associative arrays in JS?
});
Run Code Online (Sandbox Code Playgroud)
如果你想像这样访问它,你需要将它定义为一个对象:
var myObj= {};
myObj.foo = ...;
myObj.bar = ...;
Run Code Online (Sandbox Code Playgroud)
myObj["bar"]现在您可以访问类似或的属性myObj.bar
注意:
要循环遍历所有属性,明智的做法是添加额外的检查。这是为了防止您循环遍历继承的属性。
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
// Do stuff.
}
}
Run Code Online (Sandbox Code Playgroud)