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

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

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

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

配列

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

Q&A

解決済

2回答

24294閲覧

2次元配列を検索したい

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

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

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

配列

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

0グッド

0クリップ

投稿2017/06/08 08:07

Javascriptの2次元配列の中身を検索したいのですが、
どのようにすれば良いかわかりません。

たとえば下記のコードでは、
1〜500までの数値を、配列arrに格納したうえで、新たに配列newArrにおいて、arrを3つ区切りにした2次元配列を作成しています。

ここで、たとえば配列newArrにおいて、数値「5」は配列の1番目に格納されていますが、どのようにすれば検索できるでしょうか?

javascritp

1var arr = []; 2for (var i=0; i<500; i++) { 3 arr[i] = i; 4} 5var b = arr.length, 6 cnt = 3, 7 newArr = []; 8for(var i = 0; i < Math.ceil(b / cnt); i++) { 9 var j = i * cnt; 10 var p = arr.slice(j, j + cnt); 11 newArr.push(p); 12}

ちなみに下記のようなコードでは-1となってしまいます。
console.log($.inArray(allPostNum, newArr));

何卒、宜しくお願い致します。

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

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

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

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

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

guest

回答2

0

ベストアンサー

findIndex()があります。

JavaScript

1newArr.findIndex(function(element, index, array) { return element.indexOf(5) >= 0; }); // 1

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex

投稿2017/06/08 08:22

x_x

総合スコア13749

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

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

退会済みユーザー

退会済みユーザー

2017/06/08 08:56

ご教示通りで実現出来ました。 本当に有難うございます。
guest

0

こんな感じでしょうか?

javascript

1var arr = [ 2 [0,1,2], 3 [3,4,5], 4 [6,7,8], 5 [9,10,11], 6 [1,5,10], 7 [5,5,5], 8 ]; 9var ret = []; 10arr.map(function(i,j){ 11 if((i.filter(function(k){ 12 return k==5; 13 })).length>0){ 14 ret.push(j); 15 } 16}); 17console.log(ret);

投稿2017/06/08 08:18

yambejp

総合スコア114742

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

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

退会済みユーザー

退会済みユーザー

2017/06/08 08:57

ご回答頂き本当に有難うございます。 参考にさせて頂きます。
yambejp

2017/06/08 08:59

数字が複数出てくる場合を想定した記載になっています つねにユニークが担保されているならx_xさんのものが 完結でよいかもしれません
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問