javascriptで、特定の文字を含む場合の要素の位置の取得方法がわかりません。
どうすればよいでしょうか?
例えば、
["abc", "def", "ghi"]
という配列があったとき、
"e"
が含まれているものを探したら、
1
が返ってくるようにしたいです。
現状、下記のように書きましたが上手くいきません。
function findIndexOfStr(array, str) {
for(i=0; i<array.length; i++){
array[i].indexOf(str);
}
}
こちらの問題です↓
https://codeprep.jp/books/105/chapters/1/section …
No.1ベストアンサー
- 回答日時:
こんにちは
問題は見られませんけれど・・・
String.indexOf の場合、検索文字列が最初に現れた文字位置を返します。(先頭文字は0)
https://developer.mozilla.org/ja/docs/Web/JavaSc …
存在しない場合は-1が返されるので、array[i].indexOf(str)が0より大きいかを判断する必要があるのでは?
また、ご提示の関数は戻り値を指定していないので、undefinedが返されることになります。
検索文字が見つからなかった場合にどうするのか説明がありませんが、例えば、
function findIndexOfStr(array, str) {
let i;
for(i=0; i<array.length; i++) if(array[i].indexOf(str)>-1) break;
return array.length<=i?null:i;
}
とでもしておけば、見つかった場合はそのindex値を、ない場合はnullが返されるようになります。
以下のように整理し、自分なりに解釈できました。ありがとうございました。
function findIndexOfStr(array, str) {
for (i=0; i<array.length; i++) {
if (array[i].indexOf(str)>-1) {
return i;
break;
}
}
return -1;
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- その他(プログラミング・Web制作) listへのappendが出来ない件 1 2022/12/06 21:44
- PHP phpの imap_search で漢字コード 1 2022/09/06 17:32
- Excel(エクセル) MID関数について 2 2022/04/22 09:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/03/02 08:40
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
undefinedを表示させない方法は...
-
ソートで
-
順列生成アルゴリズムについて...
-
二次元配列を使って順位をだす...
-
どうすればresponseText結果を...
-
jspからjavascriptの変数引継ぎ
-
Wikipedia APIの結果からタイト...
-
配列を作って総当たりで距離を...
-
javascript 変数名の連結をしたい
-
<a>タグのテキストを取得
-
C#OpenCv V4にのエラーに関する...
-
GASでundefinedエラーが出ます
-
window.openでタイトル名の指定
-
ActiveXobjectが作成できない
-
functionから別のfunctionを実...
-
クリッカブルマップのリンク部...
-
JAVAスクリプトで指定時間以降...
-
Vb.netのグローバル変数の宣言...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
二次元配列を使って順位をだす...
-
javascriptで行を抽出したいです。
-
javascriptからphpに配列データ...
-
多次元配列から最大値を1行また...
-
Perlの配列をJavaScriptに渡せ...
-
JSONデータを50音順でソートしたい
-
どうすればresponseText結果を...
-
バナーのランダム表示(複数、...
-
JavaScriptでの動的な多次元配...
-
JavaScriptからPHPに配列を渡す...
-
javascript 省略した記述と思わ...
-
【Google Apps Script】コード...
-
javascriptを用いて作成された...
-
[JS] setAttributeで保存される...
-
javascriptで2つのArrayの...
-
配列について、その要素を並べ...
おすすめ情報
質問に不備があり申し訳ありません。回答ありがとうございます。
もう少しだけ質問させてください。
breakあたりから記載内容の理解がうまくできず、どういう意味でしょうか?
私の理解としては、
forとifでarrayの要素を1つずつindexOfで確かめていて、もし確かめれたらbreakすることで、iが特定、まではわかりました。
ですが具体的には、①if分の書き方、②?の意味、③?以降が何を指しているのか、わかりません...
①については、下記のように記載しても同じ意味でしょうか?
for(i=0; i<array.length; i++) {
if(array[i].indexOf(str)>-1) {
break;
}
return array.length<=i?null:i;
}
初学者であり検索力も低く申し訳ないのですが、ご教示いただけますと幸いです。