О каком индексе идёт речь:
const index = 0;
.
Достаём элементы:
const duplicates = arr.filter((n, i, a) => a.filter(m => m[index] === n[index]).length > 1);
или
const duplicates = Object
.values(arr.reduce((acc, n) => ((acc[n[index]] ??= []).push(n), acc), {}))
.flatMap(n => ~-n.length ? n : []);
или
const duplicates = Array
.from(arr.reduce(
(acc, n) => (acc.get(n[index]).push(n), acc),
new Map(arr.map(n => [ n[index], [] ]))
).values())
.reduce((acc, n) => (n.length > 1 && acc.push(...n), acc), []);
или
const duplicates = arr.filter(function(n) {
return this.get(n[index]);
}, arr.reduce((acc, { [index]: n }) => acc.set(n, acc.has(n)), new Map));