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

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

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

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

配列

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

Q&A

解決済

2回答

240閲覧

Java Script 配列要素の検索について

hiro_hiro

総合スコア11

JavaScript

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

配列

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

0グッド

1クリップ

投稿2017/08/09 12:34

Java scriptで配列内の要素の検索を行う際に、
配列内に検索対象文字列が3つ以上ある場合、
どのようにして全てのインデックス番号を取得してらいいのでしょうか?

例えば、
ary = ["あ","い","あ","う","あ","え","お"];
のような配列で全ての"あ"のインデックス番号を取得するみたいなケースです。

2つであれば、indexOf("検索対象文字列")とlastIndexOf("検索対象文字列")を
組み合わせるとなんとかなるかと思うのですが、
3つ以上の場合はどうしていいかわからなくて、、、

どなたかお力を貸していただけるとありがたいです!
よろしくお願いします!

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

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

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

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

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

guest

回答2

0

同様の要件を考えたことがありますが、「自作するしかない」の結論に達しました。
(Array.prototype.findIndex の発展形で Array.prototype.findIndexAll があれば良かったのですが)
自作したコードは過去の私の回答を参照して下さい。

Re: hiro_hiro さん

投稿2017/08/09 12:39

think49

総合スコア18162

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

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

hiro_hiro

2017/08/09 12:55

早速のご回答ありがとうございます! 参考にさせていただきます!
guest

0

ベストアンサー

インデックスを配列で取得。

JavaScript

1const ary = [ "あ","い","あ","う","あ","え","お" ]; 2const key = "あ"; 3let res = ary.reduce( ( pre, curr, index )=> { 4 if ( key === curr ) { 5 pre.push( index ); 6 } 7 return pre; 8}, [] ); 9console.dir(res); // [0, 2, 4] 10```**動くサンプル:**[https://jsfiddle.net/6b6c9v53/](https://jsfiddle.net/6b6c9v53/)

投稿2017/08/09 12:41

kei344

総合スコア69400

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

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

hiro_hiro

2017/08/09 12:54

ありがとうございます! 参考にさせていただきます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問