質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

2回答

523閲覧

配列の長さの取得ができません

ToIy

総合スコア15

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/10/02 05:58

編集2021/10/02 05:59

前提・実現したいこと

JavaScriptでトランプゲームのブラックジャックを作っています。
ディーラーとプレイヤーのカードを配列(Dcards,Pcards)に入れています。
Judge関数内で配列の長さを取得したいです。

発生している問題・エラーメッセージ

思ったように動かなかったので表示させてみると、
DcardsやPcardsはカンマ区切りで思い通りに返ってくるのに対して、
Dcards.lengthやPcards.lengthとするとundefinedとなっていることが分かりました。
原因が分からないので教えていただきたいです。
(コードは関係のないところを削除しました)

該当のソースコード

JavaScript

1var cards = []; 2var Dcards = []; 3var Pcards = []; 4var Dscore = 0; 5var Pscore = 0; 6var rand = 0; 7var keep = 0; 8var Dace = 0; 9var Pace = 0; 10var created = false; 11var Pfin = 0; 12var Dfin = 0; 13var Pwin = 3; 14var gameover = false; 15var coin = 10000; 16var bet = 0; 17var minbet = 100; 18function play() { 19 cards = []; 20 Dcards = []; 21 Pcards = []; 22 Dscore = 0; 23 Pscore = 0; 24} 25function Judge(){ 26 if(Pscore > 21){ 27 Pwin = 0; 28 }else if(Dscore > 21){ 29 Pwin = 1; 30 }else if(Dscore == 21 && Dcards.lengeth == 2){ //問題の箇所 31 Pwin = 0; 32 }else if(Pscore == 21 && Pcards.lengeth == 2){ //問題の箇所 33 alert("BlackJack!"); 34 Pwin = 3; 35 }else if(Dscore > Pscore){ 36 Pwin = 0; 37 }else if(Dscore < Pscore){ 38 Pwin = 1; 39 }else{ 40 PWin = 2; 41 } 42 if(Pwin == 0){ 43 alert("YOU LOSE"); 44 }else if(Pwin == 1){ 45 alert("YOU WIN!"); 46 }else if(Pwin == 2){ 47 alert("DRAW"); 48 } 49}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

otn

2021/10/02 06:05

削除しすぎた結果、エラーが出なくなっていると思いますが。
ToIy

2021/10/02 06:06

エラーは元から出ていないんです…
think49

2021/10/02 06:10

現象を再現可能なコードを出してください
otn

2021/10/02 06:12

ああ、文章が間違ってました。訂正。 削除しすぎた結果、Dcards.lengthやPcards.lengthがundefinedにならなくなっています。
guest

回答2

0

ベストアンサー

lengethのスペルが間違っています。正しくはlengthかと。

Array.length - JavaScript | MDN

投稿2021/10/02 06:12

編集2021/10/02 06:14
jhashimoto

総合スコア838

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ToIy

2021/10/02 06:15

ああっ! ありがとうございます! 初歩的なミスでした笑
guest

0

消されたソースの中から
Dcards,Pcardsを探して下さい
何か配列いがいを入れたりしてませんか?
もしくは該当コードにブレークポイントおいて
データの確認をしてください

投稿2021/10/02 06:06

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問