JavaScriptで配列から特定の要素を1つ見つける方法(Array.find()の使い方)
バニラJavaScript(フレームワークに依存しない素のJavaScript)で、配列から特定の要素を1つだけ見つけたい場合は、ES6で導入された Array.find() メソッドを使うのが最もシンプルで効果的です。
例として、野菜の名前が入った配列を用意し、その中から「carot(ニンジン)」を探してみましょう。
const vegetables = ["broccoli", "carot", "kale", "spinach"]
// 配列からcarotを検索
let carot = vegetables.find(function(vegetables) {
return vegetables === "carot"
})
console.log(carot)
// "carot"
コードの仕組み
- まず、結果を格納するための変数
carotを宣言します。 - 次に、
vegetables配列に対してArray.find()メソッドを呼び出し、文字列"carot"と完全に一致する要素を返すよう指示します。一致した要素が変数carotに代入されます。 - 最後に
console.log()で結果をコンソールに出力します。
押さえておきたい注意点
注意1: トリプルイコール演算子(===)は、値の一致 と 型の一致 の両方を厳密にチェックします。そのため、意図しない型変換による誤マッチを防ぐことができます。
注意2: JavaScriptは大文字・小文字を区別します。配列の要素に大文字が含まれている場合は、Array.find() メソッド内の比較文字列でも同じように大文字を使用する必要があります。
また、一致する要素が1つも存在しなかった場合は、undefined が返される点にも注意してください。条件に合う要素が複数ある場合でも、Array.find() は最初に一致した1件のみを返します。
アロー関数でさらに簡潔に書く
ES6のアロー関数を組み合わせれば、同じ処理を1行でスッキリと書くこともできます。
const carot = vegetables.find(item => item === "carot")
配列内の特定の要素を検索する場面は実開発でも頻繁にあります。Array.find() を使いこなして、コードの可読性と効率を向上させましょう。
-
複数の値でJavaScript配列の要素を検索する方法
JavaScriptである配列(arr)が、別の配列(arr1)の複数の値・すべての要素を含んでいるかどうかを確認したい場面はよくあります。そんなときは、every()メソッドとincludes()メソッドを組み合わせることで、シンプルに判定できます。以下はそのサンプルコードです。 コード例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content=
-
【JavaScript入門】複数のオブジェクトを1つにマージして単一のオブジェクト配列を作成する方法
JavaScriptでは、Object.assign()メソッドとスプレッド構文(...)を組み合わせることで、配列内の複数のオブジェクトを1つのオブジェクトに簡単にマージすることができます。 Object.assign()は、1つ以上のコピー元オブジェクトから、コピー先のオブジェクトへすべてのプロパティをコピーするためのメソッドです。スプレッド構文を使って配列の要素を展開することで、各オブジェクトのキーと値が1つのオブジェクトに統合されます。 コード例 以下のコードは、配列内の複数のオブジェクトを単一のオブジェクトにマージする例です。 <!DOCTYPE html> <ht