-
forループを使用する方法:
function getNthMatchingIndex(arr, element, n) { let count = 0; for (let i = 0; i < arr.length; i++) { if (arr[i] === element) { count++; if (count === n) { return i; } } } return -1; // 要素が見つからない場合は-1を返す } const array = [1, 2, 3, 2, 4, 2, 5]; const element = 2; const n = 3; const index = getNthMatchingIndex(array, element, n); console.log(index); // 出力: 5
-
Array.prototype.indexOf()を使用する方法:
function getNthMatchingIndex(arr, element, n) { let count = 0; let index = -1; while (count < n) { index = arr.indexOf(element, index + 1); if (index === -1) { break; } count++; } return index; } const array = [1, 2, 3, 2, 4, 2, 5]; const element = 2; const n = 3; const index = getNthMatchingIndex(array, element, n); console.log(index); // 出力: 5
-
Array.prototype.reduce()を使用する方法:
function getNthMatchingIndex(arr, element, n) { let count = 0; const index = arr.reduce((acc, curr, i) => { if (curr === element) { count++; if (count === n) { return i; } } return acc; }, -1); return index; } const array = [1, 2, 3, 2, 4, 2, 5]; const element = 2; const n = 3; const index = getNthMatchingIndex(array, element, n); console.log(index); // 出力: 5
これらの方法を使用して、JavaScriptで配列内の要素のn番目の一致するインデックスを取得することができます。上記のコード例を参考にして、自分の要件に合わせた方法を選択してください。