jsで配列の中から指定の条件を満たす最初の要素の位置を取得する

公開日時

jsで配列の中から指定の条件を満たす最初の要素の位置(index)を取得したい場合、findIndexが使える。

条件に合う要素が見つからない場合は-1が返ってくる。

また、位置ではなく最初の要素を取得したい場合はfindを使う。

こちらは条件に合う要素が見つからない場合はundefinedが返ってくる。

const array1 = [
  { name: 't', value: 1 },
  { name: 'e', value: 2 },
  { name: 's', value: 3 },
  { name: 't', value: 4 },
];

const isTname = (element) => element.name === 't';
console.log(array1.find(isTname));
// Object { name: "t", value: 1 }

console.log(array1.findIndex(isTname));
// expected output: 0

// 条件に合う要素が見つからない場合
const isAname = (element) => element.name === 'a';
console.log(array1.find(isAname));
// undefined

console.log(array1.findIndex(isAname));
// expected output: -1

参考


Related #js