找到了这个主题的几个主题,但无法解决我的问题。
我有一个像这样的对象:
allItems: {
item1: {
val1: 4,
val2: 'blaharb'
},
itemxyz2: {
val1: 76,
val2: 'blurb'
}
}
现在我只想推出一个像
这样的列表item1的val1为4,val2为blaharb itemxyz2的val1为76,val2的为blurb
到目前为止我的尝试:
console.log(allItems.item1.val1); // prints correctly '4' in the console
$.each(allItems, function(key, value) {
console.log(key); // gives me correct key (like 'item1')
console.log(allItems.item1.val1);// error: "undefined is not an object" - but why?!
console.log(allItems.key.val1); // same error, understandable ...
});
非常感谢帮助,谢谢!
答案 0 :(得分:3)
您可以使用数组语法访问对象属性:
$.each(allItems, function(key, value) {
console.log(allItems[key]["val1"]);
console.log(allItems[key]["val2"]);
});
示例:
var allItems = {
item1: {
val1: 4,
val2: 'blaharb'
},
itemxyz2: {
val1: 76,
val2: 'blurb'
}
};
$.each(allItems, function(key, value) {
console.log(allItems[key]["val1"]);
console.log(allItems[key]["val2"]);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:0)
您需要使用&#34;值&#34;选项。
像:
$.each(allItems, function(key, value) {
console.log(key, value.val1);
console.log(key, value.val2);
});