我创建了一个扁平Json对象的数组(名为boxesList),其中每个对象都是这样的:
Object{
iips:"ALP872"
box.number:142
box.color:"blue"
box.size:11
}
当我尝试在我的应用程序中提取存储在这些对象中的数据时:
for(let boxElement of boxesList){
console.log(boxElement.iips);
console.log(boxElement.box.number);
}
我没有获得iips值的问题,但我确实得到'未捕获的TypeError:在尝试获取box.number时无法读取未定义的属性'数'。有谁知道如何实现这一目标?
答案 0 :(得分:3)
您的属性键是box.number
boxElement.box.number
调用number
属性
box
属性
var boxesList = [{
"iips":"ALP872",
"box.number":142,
"box.color":"blue",
"box.size":11
}]
for(let boxElement of boxesList){
console.log(boxElement.iips);
console.log(boxElement["box.number"]);
}
答案 1 :(得分:0)
在这种情况下,您必须使用boxElement['box.number']
语法。
boxElement在box.number
之类的字符串上建立索引,而不是在两层上。
答案 2 :(得分:0)
你不能拥有一个带有点的对象属性名称。如果'框'可以实现您在上面要做的事情。是主要对象的属性,其中包含数字',' color'和'尺寸'是它的财产。
这样的事情:
var mainObj = {
iips:"ALP872",
box: {
number:142,
color:"blue",
size:11
}
}