在数组中推送var

时间:2016-05-04 21:55:08

标签: javascript arrays variables push

我对编程很新。大多数情况下,我可以在网上找到我的问题的解决方案但不是这次。我发现了几个关于将变量推送到数组的帖子,但是当我在console.log中检查变量是否实际存在于数组中时,他并没有返回我想要的变量的名称。 。我得到的是:[卡片,卡片],我想看到的是:[card_Fireball,card_Waterbolt等]。我使用的代码是:

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感谢您的帮助!!

3 个答案:

答案 0 :(得分:2)

你正在做的一切正确,只需用以下内容替换console.log:

Private Sub Form_Load()
    Me.txtProjectID.ColumnWidth = 1440 * 0.75
    Me.txtProjectName.ColumnWidth = 1440 * 2
    Me.txtReleaseNum.ColumnWidth = 1440 * 0.75
    Me.txtTaskCode.ColumnWidth = 1440 * 0.75
    Me.cboStatus.ColumnWidth = 1440 * 1
    Me.cboPriority.ColumnWidth = 1440 * 1
    Me.txtDueDate.ColumnWidth = 1440 * 1
    Me.txtNotes.ColumnWidth = 1440 * 2
    Me.txtCompDate.ColumnWidth = 1440 * 1
    Me.cboQCEmp.ColumnWidth = 1440 * 1.5
    Me.txtQCDate.ColumnWidth = 1440 * 1
End Sub

答案 1 :(得分:1)

如果你想获得一个你使用过的变量名的数组,那些就会在路上丢失 如果您想要一个名称数组或任何其他属性,请尝试创建一个新数组并将每个值推送到它。

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

输出:

["Fireball", "Waterbolt"]

答案 2 :(得分:1)

使用" Deck [x] .name"访问卡名称,其中x是阵列Deck中卡的索引。

获取所有名称:

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);
}