2017-07-04 3 views
-1

この配列には、すべてのプレーヤを格納する "players"という配列があり、この配列の各要素にはオブジェクトとして格納されている個々のプレーヤが含まれています。それ自身では配列である「時間」と呼ばれるプロパティです。これまでに整数をこの時間配列にプッシュしようとすると、 "time.push()関数ではありません"エラーが発生します。私はここにしようとしています何オブジェクトのプロパティである配列にプッシュする際に問題が発生する

players[data.num].time.push(uptime()); 

array[index].array.push()

この配列が定義されていないとプレイヤオブジェクトも同様にコンストラクタ関数によって作られたthis.time = []; のように宣言されています。

ここに私が前に述べた他の配列があります。

var players = []; 
players.push(new Player(0,0,true)); 

プレイヤーは()すべてのヘルプは高く評価されthis.time = [];

が含まれているコンストラクタ関数です。

+1

この配列のサンプルを提供できますか? –

+0

プレーヤー[data.num] .timeは初期化されていますか? –

+0

console.log(プレーヤー[data.num] .time);あなたは何を見ますか? –

答えて

0

非常に愚かな過ち。

this.time = []; 

とわずか数行後に...

this.time = 0; 

I = 0元this.timeを作成しました。アニメーションの場合は、この配列を作るときに私はそれを忘れていました。わかっているように、intとintにプッシュできません。

ご迷惑をおかけして申し訳ございません...

0

私はそれぞれのオブジェクトに別の配列を持つオブジェクトの配列を持っているということに基づいて答えます。そうすればうまくいくはずです。

var objs = [{array:[]},{array:[]},{array:[]}] 

objs[0].array.push("test"); 

console.log(objs) 

http://jsbin.com/romubeyoyu/edit?js,console

+0

ですが、私はこれをやっていますが、先ほど説明したプレーヤーオブジェクトがコンストラクタ関数で作成されているという違いがありますか? – Canatron

+0

@Canatronあなたのコードをもっと共有できますか?おそらく非同期のアクションはありますか? – ffffff01

+0

非同期アクションとは何ですか? – Canatron

関連する問題