你能从数组中调用一个var,而不是它的值吗
Can you call upon a var, not its value, out of an array?
在JS BlackJack应用程序上工作时遇到一些问题。我有玛尔牌组(纸牌阵列),我的脸牌有定义的值。我随机为每个玩家选择卡片,它会添加并显示卡片值,但我希望能够为每个玩家显示一张卡片img。因此,我无法区分人脸卡。
var j = 10;
var q = 10;
var k = 10;
var cards = [2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, j, j, j, j, q, q, q, q, k, k, k, k, a, a, a, a];
function processIt() {
//player's hand
var player = document.getElementById("player");
var card1 = (Math.floor(Math.random() * cards.length));
var card2 = (Math.floor(Math.random() * cards.length));
totalPlayer = cards[card1] + cards[card2];
cardDisplayP = cards[card1] + " " + cards[card2];
player.innerHTML = cardDisplayP + "<br />" + "Total: " + totalPlayer;
那么,有没有什么方法可以调用var,而不是从数组中调用它的值
即我想要:
show var.cards[46] = k;
cards[46] = 10;
您不应该依赖于数组中的位置,而应该创建构造函数或对象来包含有关卡的数据。这里有一个构造函数的例子:
var Suit = {
Hearts: 0,
Diamonds: 1,
Clubs: 2,
Spades: 3,
'0': '♥',
'1': '♦',
'2': '♣',
'3': '♠'
};
if(Object.freeze) {
Object.freeze(Suit);
}
function Card(suit, value) {
this.suit = suit;
this.value = value;
}
Card.faceValue = function(value) {
if(value > 1 && value < 11) {
return value.toString();
} else if(value === 1) {
return 'A';
} else {
return ['J', 'Q', 'K'][value % 10 - 1];
}
};
Card.prototype.toString = function() {
return Card.faceValue(this.value) + Suit[this.suit];
};
function Deck() {
for(var value = 1; value <= 13; value++) {
for(var suit = 0; suit < 4; suit++) {
this.push(new Card(suit, value));
}
}
}
Deck.prototype = [];
Deck.prototype.constructor = Deck;
Deck.prototype.shuffle = function() {
this.sort(function() {
return Math.random() - 0.5;
});
};
var d = new Deck();
d.shuffle();
document.write(d);
而Deck
继承自数组,所以您只需使用.pop()
即可获得顶级卡。
这是演示。
相关文章:
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 当var==0时,我如何显示一个警报
- '这'在使用之前分配给了一个var
- 一个'var'在函数内部声明
- 为什么我需要在这里输入var,为什么它会给我一个数字作为答案?(Javascript)
- Javascript(如果var包含一个单词,则仅更改该单词的颜色)
- JavaScript 在内部函数中保留一个 var
- 将 var 的值应用于加载页面中的另一个变量
- jQuery-如何使var文本可点击,该文本放置在由更多元素组成的另一个var中(var,checkbox)
- 在HTML下载列表中获取一个带有Selected Option的var到Google Script Spreadshee
- 为什么我的变量需要一个'var'声明,当它's已经在var声明中了
- var someSome=(函数(){..}());一个奇怪的javascript请求
- 将html var加载到另一个html元素中
- 在循环中,将一个php-var传递给javascript,其中包含该变量的值
- 如何创建<p>标记,并在我单击它时将其分配给一个var
- 从另一个函数返回 var 是 JS
- JavaScript var 分配一个动态可为空的值显示脚本错误
- jQuery - addClass 到多个项目,当其中一个项目是 var 时
- 在 JavaScript 中,当一次声明多个变量时,仅使用一个 var 语句是否有内存优势
- 为什么 var 组合 = null + “” 有一个值