Javascript 为什么我的卡片组生成代码返回空数组?

Javascript 为什么我的卡片组生成代码返回空数组?,javascript,Javascript,这是密码。当我运行它时,newDeck的length为0,因此很明显没有卡添加到它中 function Card(number, suit) { this.number = number; this.suit = suit; } var deck = []; function Deck() { for (i=2; i>13; i++) { for (j=1; j>4; j++) { var newCard = new

这是密码。当我运行它时,
newDeck
length
为0,因此很明显没有
卡添加到它中

function Card(number, suit) {
    this.number = number;
    this.suit = suit;
}

var deck = [];

function Deck() {
    for (i=2; i>13; i++) {
        for (j=1; j>4; j++) {
            var newCard = new Card(i,j);
            deck.push(newCard);
        }
    }
    return deck
}

var newDeck = new Deck();
console.log(newDeck.length);

您的循环错误,您要检查数字是否小于或不大于:

function Deck() {
    for (i=2; i<13; i++) { //Change ">" with "<"
        for (j=1; j<4; j++) { //Change ">" with "<"
            var newCard = new Card(i,j);
            deck.push(newCard);
        }
    }
    return deck
}
函数组(){

for(i=2;ifor循环中的索引使其成为循环,因此循环永远不会执行


它们目前是“i>13”和“j>4”,但应该是“iWhy是一个构造函数吗?你希望程序产生什么样的输出?@Quentin你会将其更改为createDeck()?@Zetland-是的……而且由于它修改了现有数组,我也不会给它一个返回语句。