JavaScriptでオブジェクトの配列からオブジェクトのインデックスを取得する方法は?


Originally posted here!

オブジェクトの配列からオブジェクトのインデックスを取得するには、JavaScript で object 要素を含む配列に対して findIndex() array メソッドを使用できます.

TL;DR




// Array of objects
const objsArr = [
  { name: "John Doe", age: 23 },
  { name: "Roy Daniel", age: 25 },
];

// Get the index of the object in the array
const indexOfObject = objsArr.findIndex((obj) => {
  // if the current object name key matches the string
  // return boolean value true
  if (obj.name === "Roy Daniel") {
    return true;
  }

  // else return boolean value false
  return false;
});

console.log(indexOfObject); // 1


たとえば、次のようなオブジェクトの配列があるとします.

// Array of objects
const objsArr = [
  { name: "John Doe", age: 23 },
  { name: "Roy Daniel", age: 25 },
];


ここで、 name に一致する Roy Daniel キーを持つオブジェクトのインデックスを取得する場合は、 findIndex() メソッドを使用できます.
  • findIndex() には、引数として関数が必要です.
  • 要素がループされるたびに、引数関数に現在の配列要素が渡されます.
  • この関数内で、名前が Roy Daniel に一致するかどうかを確認し、一致する場合は boolean の値を返し、一致しない場合は boolean の値を返します.
  • false メソッドは、配列内のオブジェクトのインデックスを返します.

  • このようにできるのですが、

    // Array of objects
    const objsArr = [
      { name: "John Doe", age: 23 },
      { name: "Roy Daniel", age: 25 },
    ];
    
    // Get the index of the object in the array
    const indexOfObject = objsArr.findIndex((obj) => {
      // if the current object name key matches the string
      // return boolean value true
      if (obj.name === "Roy Daniel") {
        return true;
      }
    
      // else return boolean value false
      return false;
    });
    
    console.log(indexOfObject); // 1
    


    以上です😃!

    上記のコードは JSBin にあります.

    これが役に立ったと思ったら、気軽に共有してください 😃.