どうすればこれを達成できますか?
var people = Array();
people.push({
name: "John",
height_in_cm : 190,
height_in_inches : this.height_in_cm * 0.39
});
これは機能していません。オブジェクトがまだ作成されていないことは明らかです。これを機能させるためのトリックはありますか?
どうすればこれを達成できますか?
var people = Array();
people.push({
name: "John",
height_in_cm : 190,
height_in_inches : this.height_in_cm * 0.39
});
これは機能していません。オブジェクトがまだ作成されていないことは明らかです。これを機能させるためのトリックはありますか?
最初にオブジェクトを宣言してからプッシュするだけです。
var people = [];
var obj = {
name: "John",
height_in_cm : 190
};
obj.height_in_inches = obj.height_in_cm * .39;
people.push(obj);
ケースによっては、「Person」オブジェクト/クラスを作成することもできます。
var person = (function personModule() {
function Person(props) {
this.name = props.name;
this.height_in_cm = props.height_in_cm;
this.height_in_inches = this.height_in_cm * .39;
}
Person.prototype = {...}; // public methods if necessary
return function(props) {
return new Person(props);
}
}());
var people = [];
people.push(person({ name: 'John', height_in_cm: 190 }));
console.log(people[0].height_in_inches); //=> 74.1