简体   繁体   English

在关联数组中添加数据

[英]Adding data in an Assosiative Array

How come when i try to add something into the "Enfant" array that i have initialized it gives me a number. 当我尝试向初始化的“婴儿”数组中添加某些内容时,为什么会给我一个数字。 In this case it gives me 3 when i add a string into it. 在这种情况下,当我在其中添加一个字符串时,它会给我3。

    var person=[];

function addPerson(n,a){
    person.push({ "Name" : n, "Age" : a, "Kid" : []});

}

addPerson("Julie",100); addPerson的( “朱莉”,100); addPerson("Sarah",83); 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

Array.push返回推送后数组中元素的数量,这是您要分配给person[i].Kid

You should do person[i].Kid.push instead. 您应该改用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);
    }   
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM