Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在处理分配,控制台未显示预期结果_Javascript_Arrays_Function_Object_Console.log - Fatal编程技术网

Javascript 正在处理分配,控制台未显示预期结果

Javascript 正在处理分配,控制台未显示预期结果,javascript,arrays,function,object,console.log,Javascript,Arrays,Function,Object,Console.log,免责声明:我对JS非常陌生 大家好 我正在为web浏览器开发一款纸牌游戏,在控制台中,我应该会得到以下信息: // User flipped queen // images/queen-of-hearts.png // hearts // User flipped king // images/king-of-hearts.png // hearts 我在控制台中看到的唯一消息是“启动并运行”(请参阅下面的代码) 我还应该得到以下弹出窗口: “此页面显示:抱歉,请重试。” 在遵循(相当模糊的)

免责声明:我对JS非常陌生

大家好

我正在为web浏览器开发一款纸牌游戏,在控制台中,我应该会得到以下信息:

// User flipped queen
// images/queen-of-hearts.png
// hearts
// User flipped king
// images/king-of-hearts.png
// hearts
我在控制台中看到的唯一消息是“启动并运行”(请参阅下面的代码)

我还应该得到以下弹出窗口:

“此页面显示:抱歉,请重试。”

在遵循(相当模糊的)发布的说明,浏览我的课程组的松散帖子,尝试和错误之后,我什么都没有得到。所以我想我应该把我的代码发布到stackoverflow上,看看是否有人发现了我遗漏的东西,或者什么东西放错了地方

谢谢!代码如下:

console.log('up and running');

var cards = [

{
rank: 'queen',
suit: 'hearts',
cardImage: 'images/queen-of-hearts.png',
},

{
rank: 'queen',
suit: 'diamonds',
cardImage: 'images/queen-of-diamonds.png',
},

{
rank: 'king',
suit: 'hearts',
cardImage: 'images/king-of-hearts.png',
},

{
rank: 'king',
suit: 'diamonds',
cardImage: 'images/king-of-diamonds.png'
}

];



var cardsInPlay = [];

var flipCard = function() {
    console.log("User flipped " + cards[cardId].rank);

    console.log(cards[cardId].cardImage);
    console.log(cards[cardId].suit);

    cardsInPlay.push(cards[cardId].rank);

}


var checkForMatch = function() {
    if (cardsInPlay.length === 2) {
        if (cardsInPlay[0] === cardsInPlay[1]) {
                alert('You found a match!');
            } else {
                alert('Sorry, try again.');
    };  
};
};

checkForMatch();

你的第一个if块应该有其他条件,你可以把你的警报放在里面,这样你就可以看到警报了

@Tsardines阅读了代码中的注释,我希望这有助于解释一下

console.log(“启动并运行”);
常数卡=[
{
等级:“女王”,
西装:“红心”,
CardMage:“图像/红心皇后.png”
},
{
等级:“女王”,
西装:“钻石”,
cardImage:“图像/钻石女王.png”
},
{
等级:“国王”,
西装:“红心”,
CardMage:“图像/红心之王.png”
},
{
等级:“国王”,
西装:“钻石”,
cardImage:“图像/钻石之王.png”
}
];
让cardsInPlay=[];
//我不确定您是如何构建html的,所以我创建了一个快速函数,它将构建一个html
函数构建板(){
//“董事会”包装
const board=document.getElementById(“board”);
//在上面定义的卡片阵列中循环
for(卡中常卡){
//创建一个新的DOM元素
const elem=document.createElement(“按钮”);
//仅用于演示显示目的
elem.innerHTML=${card.suit}的${card.rank};
//添加click事件处理程序
元素addEventListener(“单击”,函数(){
//将单击的卡片数据传递到“flipCard”`
动画卡;
});
//将DOM元素附加到板上
董事会:附属儿童(elem);
}
}
//我需要知道点击的是哪张卡,这样我才能将其数据添加到“cardsInPlay”`
功能翻转卡(卡片){
控制台日志(卡片,“所选卡片”);
console.log(“用户翻页”+card.rank);
控制台.日志(卡片.卡片);
控制台.日志(卡片.套装);
//使用unshift将卡推到末端插入阵列的前部
卡牌取消移动(卡牌等级);
//确保我们删除了旧的选定卡,因此我们只有2张
如果(cardsInPlay.length>2){
插接卡(2,1);
}
//致电检查是否匹配,查看剩余的卡是否匹配
checkForMatch();
}
函数checkForMatch(){
如果(cardsInPlay.length==2){
if(cardsInPlay[0]==cardsInPlay[1]){
警告(“您找到了匹配项!”);
//cardsInPlay=[];//取消注释以重置游戏
}否则{
警惕(“对不起,再试一次。”);
//cardsInPlay=[];//取消注释以重置游戏
}
}
};
//建立游戏板
建筑板();
//无需在加载时调用'checkForMatch',因为'cardsInPlay'正在重置
//checkForMatch()
#板按钮{
宽度:100px;
高度:200px;
边框:1px实心#000;
浮动:左;
利润率:20px;
显示器:flex;
证明内容:中心;
对齐项目:居中;
文本对齐:居中;
光标:指针;
}

checkForMatch()在加载后和翻转任何卡之前立即运行。因此,cardsInPlay数组为空,将不显示任何内容。如果(cardsInPlay.length==2)
计算结果为
false
,则此条件为
。另外,未定义
cardd
。您在哪里调用flipCard方法?以及如何在
cards[cardd]
中设置
cardd
,以及在
卡[]中应该匹配什么