Kei05
@Kei05

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

取得した値が多次元配列のどこに含まれているかチェックしたい。

Q&A

Closed

次のような多次元配列があり、他から取得した値が配列のどこに存在するかを取得し、それが含まれる配列の値を最終的に取得したいです。
配列の中に一致する値がない場合もあります。

伝わりにくくて申し訳ないですが、教えていただきたいです。

const arr = [
  ["val1", "val2", "val3"],
  ["val4", "val5"]
];

取得した値がval2だった場合、存在するのは[0][1]なので、[0]に含まれるval1, val2, val3を返す。

0

1Answer

こんな感じでしょうか。

const arr = [
  ["val1", "val2", "val3"],
  ["val4", "val5"]
];

console.log( arr.find(a => a.includes('val2')) ); // [ 'val1', 'val2', 'val3' ]
console.log( arr.find(a => a.includes('val5')) ); // [ 'val4', 'val5' ]
console.log( arr.find(a => a.includes('val6')) ); // undefined
0Like

Comments

  1. @Kei05

    Questioner

    ありがとうございます!
    findの中のaは何を指しているのでしょうか?
  2. findメソッドが反復処理に使う要素に付けた名前です。
    今回は多重配列を処理するメソッドとして利用したので、単にarrayの意味でaと付けただけです。

    const arr = [
    ["val1", "val2", "val3"],
    ["val4", "val5"]
    ];

    for(const a of arr) {
    if(a.includes('val2')) {
    console.log(a);
    break;
    }
    }


    上記の処理をfindを使用したものに置き換えた、と言えば分かりますでしょうか。
  3. @Kei05

    Questioner

    ありがとうございます!
    理解でき、無事に実装できました。

Your answer might help someone💌