Как при проверки сделать пропуск значений которые уже находил?
let arr = ['1', '2', '3', '4', '4', '4', '5', '5', '6', '7', '8'];
for (let i in arr) {
if (['1', '2', '3', '4', '5', '6'].some(e => e === arr[i])) {
console.log(arr[i]);
// из массива arr нужно взять ['1', '2', '3', '4', '5', '6']
}
}
console.log('---');
arr = ['1', '2', '3', '4', '4', '4', '5', '5', '6', '7', '8'];
for (let i in arr) {
if (['1', '3', '4'].some(e => e === arr[i])) {
console.log(arr[i]);
// из массива arr нужно взять ['1', '2', '4']
}
}
Ответы (1 шт):
Автор решения: Leonid
→ Ссылка
Предлагаю зайти с обратной стороны и проходиться только по уникальным элементам.
let arr = ['1', '2', '3', '4', '4', '4', '5', '5', '6', '7', '8'];
let unique_arr = [...new Set(arr)];
for (let i in unique_arr) {
console.log(unique_arr[i]);
}
Если смысл надо воспроизвести буквально, с проверкой пройденных элементов:
let arr = ['1', '2', '3', '4', '4', '4', '5', '5', '6', '7', '8'];
let unique_arr = new Set();
for (let i in arr) {
if(!unique_arr.has(arr[i])){
console.log(arr[i]);
}
unique_arr.add(arr[i]);
}