2016-05-04 7 views
2

私はプログラミングにかなり新しいです。ほとんどの場合、私は自分の問題の解決策をオンラインで見つけることができますが、今回はありません。私は配列に変数をプッシュするサーバーの記事を見つけましたが、変数が実際に配列内にあるかどうかを確認するためにconsole.logを呼び出すと、必要な変数の名前が返されません。私が戻ってくるのは、[Card、Card]です。私が見たいのは、[card_Fireball、card_Waterboltなど]です。私が使用するコードは次のとおりです。配列内のvarをプッシュ

var Deck = []; 

function Card(name, type, cost, points, damage, heal){ 
     this.name = name; 
     this.type = type; 
     this.cost = cost; 
     this.points = points; 
     this.damage = damage; 
     this.heal = heal; 
    } 

var card_Fireball = new Card("Fireball", "spell", 2, 1, 3, 0); 
var card_Waterbolt = new Card("Waterbolt", "spell", 2, 1, 3, 0); 

Deck.push(card_Fireball); 
Deck.push(card_Waterbolt); 

console.log(Deck); 

ソリューションは、おそらく非常に単純ですが、私は私の初心者の経験でそれを把握することはできません。助けをPのおかげで!!あなただけの次にはconsole.log置き換える正しいすべてをやっている

+1

あなたを変数の名前は表示されません。コンソールはあなたが変数の名前を気にせず、値が何であるかだけ気にします。あなたが "カード"を作成して以来、それは "カード"を表示するつもりです。コンソールで*表示*しているものをクリックすると、正しいオブジェクトがあることがわかります。 –

+0

コンソールで各カードを開くと、設定したカードのすべての属性が表示されます –

+0

console.logではなくconsole.dirを使用してみてください。 – nickles80

答えて

1

アクセスxはアレイデッキ内のカードの指標である "デッキ[X] .nameの" とカード名。

すべての名前を取得するには、次の

for(i=0;i<Deck.length;i++){ 
    console.log(Deck[i].name); 
} 

すべてのあなたのカードにあなたがあなたの例では、あなたは変数名を取得するためにこれを使用することができなかったと同じように名前を付けると仮定:

for(i=0;i<Deck.length;i++){ 
    console.log('card_' + Deck[i].name); 
} 
+0

ありがとうございました!これは私が探していたものです。他にも助けてくれてありがとう!多くを学んだ! – RvEng

2

console.log(JSON.stringify(Deck)); 
1

あなたが使用している変数名の配列を取得したい場合は、それらが途中で失われます。
名前やその他のプロパティの配列を必要とする場合は、新しい配列を作成し、すべての値をその配列にプッシュしてみてください。

var names = []; 
Deck.map(function(v) { names.push(v.name) }) 
console.log(names); 

出力:

["Fireball", "Waterbolt"] 
関連する問題