前提・実現したいこと
TypeScriptでMap型の変数から別の変数に要素を代入し、要素の数だけ繰り返し処理を行います。
繰り返し処理内のifで値の比較をしてtrueのときに他のメソッドを呼んでその後breakしたいです。
他のメソッドはif文がtrueの時に1度だけ呼びたいです。
発生している問題
1.調べたところforeach文を使用しているものしか見つけられずそれだと途中でbreakできないようなのでwhile文を使いたいのですが、whileの条件をどのように書けばよいのかがわかりません。
javaのhasnextのような書き方をTypeScriptではどのように書けばよいのでしょうか。
2.また、値の比較のときに要素が代入されている変数と比較を行うのですが値の取り出し方は 変数.next().value とやる方法しかないでしょうか。
該当のソースコード
TypeScript
1// 変数宣言 2let map = new Map<string, any>(); 3 4// 値のセット 5map.set("1", "apple"); 6map.set("2", "orange"); 7map.set("3", "lemon"); 8map.set("4", "orange"); 9 10 11// 値を挿入順に取得する 12let value = map.values(); 13 14// 値を順番に比較したい 15while(// ???){ 16 // trueならsumCodeメソッドを呼んでその後whileを抜けたい 17 if(// value.next().value == 'orange'){ 18 sumCode(); 19 break; 20 } 21}
試したこと
javaScriptの真似をしてvalue.doneや、for of をやってみましたがエラーが出てしまいました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/18 12:29 編集