const years = [['1982', '2001', '1991', '1985', '1988', '2002', '1991', '1992'],
['1988', '2002', '1991', '1992', '1982', '2001', '1991', '1986'],
['1993', '2002', '1971', '1985', '1991', '2003', '1951', '1935']];
const year = [['1989', '2002', '1991', '1992', '1982', '2001', '1992', '1986'],
['1988', '2004', '1991', '1993', '1982', '2005', '1991', '1986']]; // Второй массив слипнулся, объемом по 16 индексов получился, а нужно 2 по 8.
const results = year.map(inner =>
years.reduce((a, c) => a.concat(c.filter((v, i) => v == inner[i]).length >= 2 ? c : []), []));
console.log(results);
const years = [['1982', '2001', '1991', '1985'],
['1988', '2002', '1991', '1992'],
['1991', '2002', '1971', '1985']];
// Это то, что я имел ввиду многомерный массив.
const year = [['1981', '2001', '1991', '1985'], // Сначала первый проверяется и выводит результаты.
['1991', '2002', '1971', '1985']]; // Потом второй и тд.
const results = years.reduce((acc, curr) => {
return acc.concat(curr.filter((y, i) => y == year[i]).length > 1 ? [curr] : [])
}, []);
console.log(results);
const years = [['1982', '2001', '1991', '1985'],
['1988', '2002', '1991', '1992'],
['1991', '2002', '1971', '1985']];
const year = ['1981', '2001', '1991', '1985'];
const results = years.filter(items => items.filter((item, i) => item === year[i]).length >= 2);
console.log(results);