@kuzubina

Как найти подряд идущие значения в массиве?

есть массив такого вида
const arr = [
'значение 1',
'значение 3', 
'значение 1', 
'значение 2', 
'значение 1', 
'значение 4', 
'значение 1', 
'значение 6',
'значение 1', 
'значение 2']


Как найти подряд идущие заданные значения? К примеру мне нужно найти сколько раз попадалось в массиве значение 1 и сразу за ним было значение 2
  • Вопрос задан
  • 192 просмотра
Решения вопроса 2
dollar
@dollar
С помощью цикла.
Не знаю, почему в моду вошло написание решений в одну строчку в функциональном стиле, словно это быстрее работает или проще понять при прочтении.
let cnt = 0; //число совпадений
for(let i = arr.length-1; i > 0; i--) {
  if (arr[i] == 'значение 2' && arr[i-1] == 'значение 1') cnt++;
}
Ответ написан
john36allTa
@john36allTa
That`s calling Walker
arr.reduce( (acc,v,i,a)=> i > 0 && v === 'значение 2' && a[i-1] === 'значение 1' ? acc + 1 : acc, 0)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы