Javascript 在数组中推送变量
我对编程相当陌生。大多数情况下,我可以在网上找到解决问题的方法,但这次不行。我发现了一些关于将变量推入数组的帖子,但是当我在console.log数组中检查变量是否确实在数组中时,他没有返回我想要的变量名称。我得到的是:[卡,卡],我想看到的是:[卡,火球,卡,水螺栓,等等]。我使用的代码是:Javascript 在数组中推送变量,javascript,arrays,variables,push,Javascript,Arrays,Variables,Push,我对编程相当陌生。大多数情况下,我可以在网上找到解决问题的方法,但这次不行。我发现了一些关于将变量推入数组的帖子,但是当我在console.log数组中检查变量是否确实在数组中时,他没有返回我想要的变量名称。我得到的是:[卡,卡],我想看到的是:[卡,火球,卡,水螺栓,等等]。我使用的代码是: var Deck = []; function Card(name, type, cost, points, damage, heal){ this.name = name;
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替换为以下内容:
console.log(JSON.stringify(Deck));
如果您想获得已使用的变量名数组,这些名称将在途中丢失。
若您想要一个名称数组或任何其他属性,请尝试创建一个新数组,并将每个值推送到该数组
var names = [];
Deck.map(function(v) { names.push(v.name) })
console.log(names);
输出:
["Fireball", "Waterbolt"]
使用“Deck[x].name”访问卡名,其中x是阵列组中卡的索引 要获取所有名称,请执行以下操作:
for(i=0;i<Deck.length;i++){
console.log(Deck[i].name);
}
for(i=0;i)您不会看到变量的名称。控制台不关心您如何命名变量,只关心它的值。因为您创建了一张“卡”,所以它将显示“卡”。如果单击控制台中显示的内容,您将看到它具有正确的对象。如果在控制台中打开每张卡,您将看到您设置的卡的所有属性尝试使用console.dir而不是console.log。谢谢!这是我一直在寻找的。也感谢所有其他人的帮助!学到了很多!
for(i=0;i<Deck.length;i++){
console.log('card_' + Deck[i].name);
}