将对象添加到数组中

时间:2015-11-05 18:07:19

标签: javascript arrays

您好我是JavaScript的新手,需要一些指导。我正在努力为俱乐部的人们建立一个参考。我开始创建一个像这样的数组:

var People = ['Adam', 'Bruce', 'Steve']

但现在我想为亚当增加特征,例如身高,体重,年龄等。

我希望能够通过以下方式访问有关我的阵列中人员的信息:

alert(People.Adam.height);

我如何构造它以使我的数组中的对象具有独特的特征?

5 个答案:

答案 0 :(得分:2)

var people = [],
    adam = {
        height: 200,
        weight: 200,
        age: 20
    }; 

people.push(adam);

console.log(people[0].height); // 200

或使用object而不是array:

var people = {},
    adam = {
        height: 200,
        weight: 200,
        age: 20
    };

people.adam = adam;

console.log(people.adam.height); // 200

答案 1 :(得分:1)

您目前正在向数组中添加字符串,而不是对象。你需要让你的人成为对象。

var adam = {
    name: 'Adam',
    height: 6.0
}

现在要解除亚当的身高,你要打电话给adam.height。所以如果你有一个数组,People,里面有adam(和其他人),那么你可以这样做:

var people = [adam]
alert(people[0].height)
// Alerts 6

编辑:

或者,如果您想通过名称访问Adam,可以将people设为对象而不是数组:

var people = {'adam' : adam}
alert(people.adam.height)
// Alerts 6

答案 2 :(得分:1)

您可以创建一个对象,以便可以访问该对象的任何嵌套属性:

var People = {
  Adam: {
    height: '187',
    age: '22',
    favorite_color: 'orange'
 },
 Paul: {
   height: '156',
   age: '38',
   favorite_color: 'blue'
 }, 
}

答案 3 :(得分:1)

您需要创建一个以人名为关键字的对象,每个关键字的值将是对象形式的人的详细信息。它可能像

var People = {
    "Adam" : {
          "height" : "someValue",
         "anotherParam" : "someOtherValue"
    },
    "Bruce" : {
         "height" : "someValue",
         "anotherParam" : "someOtherValue"
    }
}

答案 4 :(得分:0)

使用class。它可能看起来像这样:

class Person {
  constructor(height, weight, birth_year) {
    this.height = height;
    this.weight = weight;
    this.birth_year = birth_year;
  }
}