Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScript array.includesは、検索された名前が配列内にある場合にfalseを返すネストされた配列内に含まれます


ネストされた配列内でincludes()を使用すると、つまり多次元配列が機能しないことはよく知られているジレンマです。配列をフラット化してから検索するArray.prototype.flat()関数が存在しますが、ブラウザーのサポートはそうではありません。まだとても良いです。

したがって、私たちの仕事は、配列と文字列を受け取り、配列内のその文字列の有無に基づいてブール値を返すincludesMultiDimension()関数を作成することです。

この問題には多くの解決策があり、そのほとんどには再帰、重い配列関数、ループなどが含まれます。

ここで説明するのは、ネストされた配列内の文字列の有無を確認する最も簡単な方法です。

このためのコードは-

です

const names = ['Ram', 'Shyam', 'Laxman', [
   'Jay', 'Jessica', [
      'Vikram'
   ]
]];
const includesMultiDimension = (arr, str) =>
JSON.stringify(arr).includes(str);
console.log(includesMultiDimension(names, 'Vikram'));

この1行のソリューションには、配列をJSON文字列に変換して、インクルードを単純に適用できるようにすることが含まれます。

出力

コンソール出力は-

になります
True

  1. JavaScriptのArray.prototype.includes()メソッド。

    JavaScript Array.protoype.includes()メソッドは、配列に特定の要素が含まれているかどうかを確認するために使用されます。 以下は、Array.protoype.includes()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, i

  2. JavaScriptでオブジェクトプロパティ名の配列を置き換える

    以下は、JavaScriptでオブジェクトプロパティ名の配列を置き換えるコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style&g