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