前提・実現したいこと
javascriptでランダムに画像を表示させ、
表示された画像によって条件を分岐したいと考えています。
発生している問題・エラーメッセージ
「//カードをマークと数字別で表示させたい」の部分が間違っていると思うのですが、どこが違うのかわかりません。 indexOfなどを使えば思った動きをするのかとも思いますが記述がわかりません。 consoleでcard[i].markとcard[i].rankを確認しても[undefind]や[NaN]と表示されてしまいます。
該当のソースコード
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title>練習</title> </head> <body> <table border="1" height="300" align="center"> <tr> <td><img id="Card1" src="image/hyouji.jpg" width="150"></td> <td><img id="Card2" src="image/hyouji.jpg" width="150"></td> <td><img id="Card3" src="image/hyouji.jpg" width="150"></td> <td><img id="Card4" src="image/hyouji.jpg" width="150"></td> </tr> <tr> <td colspan="5" align="center" width="150"> <input type="button" value="クリック!" onclick="action()"></td> </tr> <script> function action(){ //変数宣言 var card=[]; var arr=["h01","h02","h03","h04","h05", "s01","s02","s03","s04","s05", "d01","d02","d03","d04","d05", "c01","c02","c03","c04","c05", ]; var mark=["h","s","d","c"]; var rank=["01","02","03","04","05","06","07","08","09","10","11","12","13"]; //カードシャッフル、表示 for (var i = 0; i <5; i++) { card[i]=arr.splice(Math.floor(Math.random()*arr.length),1); document.getElementById("Card"+(i+1)).src="image/"+card[i]+".jpg"; //カードをマークと数字別で表示させたい card[i]=card[i].mark+card[i].rank; } </script> </body> </html>
試したこと
ランダムに画像を表示させるところまでは上手くいっています。
ここから「ハートの場合は」や「数字が01なら」としたいので,
card[i].markとcard[i].rankの形で表示させたいと思っています。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答が付いた質問の編集は慎重に行ってください。回答でタイプミスについての指摘がある場合は「直したこと」がわかるようにしてください。