为什么当我尝试在我已经初始化它的“Enfant”数组中添加一些内容时,会给我一个数字。在这种情况下,当我在其中添加一个字符串时,它给了我3个。
var person=[];
function addPerson(n,a){
person.push({ "Name" : n, "Age" : a, "Kid" : []});
}
addPerson的( “朱莉”,100); addPerson的( “萨拉”,83);
function addKid(parentName,kidName){
for(var i=0;i<person.length;i++){
if (parentName== person[i].Name){
person[i].Kid=person.push(kidName);
}
}
}
addKid("Julie","Sarah");
print(person[0].Kid); //<--- gives me 3
答案 0 :(得分:1)
Array.push会在推送后返回数组中的元素数,这是您分配给person[i].Kid
答案 1 :(得分:0)
您应该改为person[i].Kid.push
。
function addKid(parentName,kidName){
for(var i=0;i<person.length;i++){
if (parentName== person[i].Name){
person[i].Kid.push(kidName);
}
}
}