Forループを使わなくても同じ実行結果になるメソッドがある場合はそのほうがよいのかな
JavaScriptのメモ。
以前どこかのブログだか記事かで、JavaScriptはfor分のループは使わない方がいいとか、という内容がありました。それで代わりに使うのは、forEachやmapなどを利用するのがいいとか。whileも入る?とその時は考えていた気がします。
その中にevery()メソッドもあるのでしょうか。
問題として
配列 arr = ['Hello', 'hello'] があるとして、2番目の要素が1番目の要素に全て含まれるかどうかのテスト。大文字、小文字は問わない。
例えば ['Hello', 'hello']であれば2番目文字列が全て1番目の文字列に含まれるため、trueを返す。
['Hello', 'Hey']の場合、2番目の文字列内の'y'が1番目の文字列には含まれないので、falseを返す。
['Aline', 'line']の場合、2番目の文字列が全て1番目の文字列 'Aline' に含まれるため、trueを返す。
自分の回答はfor文を利用しました。
こんな感じ
模範回答の中にはevery()を利用して、
return arr[1].toLowerCase().split("").every(l => { return arr[0].toLowerCase().indexOf(l) != -1 }
な感じのコードが。MDN Web docにも当然あったので、for文を利用しない書き方がたくさんあるな、と思った次第。
確かな力が身につくJavaScript「超」入門 (確かな力が身につく「超」入門シリーズ)
- 作者: 狩野祐東
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/10/30
- メディア: 単行本
- この商品を含むブログを見る
初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発
- 作者: Ethan Brown,武舎広幸,武舎るみ
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/01/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る