在关联数组中添加数据

时间:2014-07-16 15:33:22

标签: javascript arrays associative-array

为什么当我尝试在我已经初始化它的“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

2 个答案:

答案 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);
    }   
  }
}