Sedbol
@Sedbol

Как проверить сколько чисел совпало в строке?

Ка проверить сколько чисел совпало в строке где нижние подчеркивание ( _ ) и не учитывать знак тире( - )?

let win ='2_6_3_1';    
let ystring='1_2_3-1';
//Нужно вывести что совпало 2 числа
  • Вопрос задан
  • 99 просмотров
Решения вопроса 2
@dimoff66
Кратко о себе: Я есть
let win ='2_6_3_1'   
let ystring='1_2_3-1'

const count = 
(values => ystring.split('_').reduce((cnt, v) => cnt + values.has(v), 0)) 
(new Set(win.split('_')))

console.log(count) // 2
Ответ написан
Комментировать
john36allTa
@john36allTa
alien glow of a dirty mind
Учитывает минус цифры и уникальность совпадений
let a = "1_5_3_3_4", b = "3-1_7_4_5", 
		c = s => s.replace(/-\d+/g, '').split("_"),
		d = c(b),
		x = c(a).reduce( (n,e) => {
			if(d.indexOf(e) >= 0){
				delete d[d.indexOf(e)]
				n++
    	}
			return n
		}, 0 );

console.log(`Найдено совпадений: ${ x }`);
// Найдено совпадений: 3
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Piratt14
5deff60698d41445976667.png
Как пример. Смотря как именно надо учитывать числа с нижним подчеркиванием. Вы бы пример привели подсчета, что бы знать задачу то). Есть вариант через регулярки посчитать ещё
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Шестерёнки.
Крутим два кольца - совпавшие плюсуем и выбрасываем.
Несовпавшие - тоже плюсуем в стек и выбрасываем, когда стэк достигнет наименьшего количества элементов в одной из шестерёнок.
Максимальная сложность в худшем случае: Olog(n)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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