Как сделать в функиональном стиле. Функция возвращает true, если найдены limit совпадений. Ищет дубликаты, которые повторяются 2+ раза
export default function(array, currentdata, limit = 2) {
const { ac, sub} = currentData;
let counter = 0;
for (let j = 0; j < array.length; j++) {
if (counter >= limit) {
return true;
}
if (array[j].type1 === ac && array[j].type2 === sub) {
counter++;
}
}
return false;
}
Деструктуризацию параметра можно делать в самом объявлении:
const { ac, sub} = currentData; -> function(array, { ac, sub}, limit = 2) {
Для проверки удовлетворения элементов условию можно воспользоваться функцией .some
При выполнении условия можно менять сам параметр limit, и останавливать поиск при достижении им значения 0.
В итоге код функции может выглядеть так:
export default function(array, {ac, sub}, limit = 2) {
return array.some(el=>(limit-=el.type1 === ac && el.type2 === sub)<1);
}
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости