Beats 配列にアイテムを追加してからユーザーを console.log にすると、配列内の正しい数のアイテムが取得されます。しかし、.length をチェックすると、常に 1 になります。インデックスを呼び出そうとすると、次のように常に「未定義」
Tom.beats[1]
になります。明らかな何かが欠けていると思いますが、これは私を打ち負かしています。.push
メソッドを誤用していると思われますが、よくわかりません。どんな助けでも大歓迎です!(Chrome 開発ツールを使用)
//The USER
function User(name, role){
this.beats = [ ];
this.name = name;
this.role = role;
// add beats to beats array
this.addBeats = function(beats){
return this.beats.push(beats);
};
}
// Three New Instances. Three New Users.
var Mal = new User("Mal", "Rapper");
Mal.addBeats(["love", "cash"]);
var Dan = new User("Dan", "Producer");
Dan.addBeats(["cake", "dirt", "sally-mae"]);
var Tom = new User("Tom", "Producer");
Tom.addBeats(["Fun", "Little", "Samsung", "Turtle", "PC"]);
// Check for position in beats array
console.log(Tom.beats);
console.log(Mal.beats);
console.log(Dan.beats);
console.log(Mal.beats[1]);
console.log(Dan.beats[1]);
console.log(Tom.beats[1]);