我对JS对象的理解很薄弱。如果我将一组对象传递给一个新数组,然后尝试获取某个索引的长度或值(如下面的摘录)我返回一个未定义的消息。这里有明显的错误吗?谢谢。
var arrayTest = [];
var objCollection = obj.name + obj.size + obj.weight;
arrayTest.push(objCollection);
alert(arrayTest[0]); // returns undefined
为了澄清,我正在收集客户的产品选择并返回存储在json文件中的技术数据 - 目的是将此选择放入表中。
{
"name": "the name",
"size": "the size",
"weight": "the weight"
},
答案 0 :(得分:0)
你确定 objCollection 实际上包含一个值吗? 在我看来, obj 对象的某个字段未定义,因为将值与未定义的对象连接会产生undefined。因此,您将未定义的对象推送到您的数组而不是您想要的。请参阅Bergi's comment进行更正。