Показать сообщение отдельно
  #9 (permalink)  
Старый 10.05.2023, 15:28
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,127

Подкину и я свои 5коп...

function f(ar) {
	const o = ar.reduce((o, v) => (typeof v === 'number'
		? o.n += v
		: (o.t += (o.n || '') + v, o.n = 0)
	, o), {t: '', n: 0})
	return o.t + (o.n || '')
}
console.log(f([1, 1, 'Q', 1, 'R'])); //2Q1R
console.log(f([1, 1, 1, 'Q', 1, 1, 'R', 1])); // 3Q2R1
console.log(f([1, 1, 'N', 'W', 1, 1, 1, 'Q'])); // 2NW3Q
/*****/
console.log(f([1, 11, 'N', 'W', 3, 55, 0, 'Q'])); // 12NW58Q
console.log(f(['A', 1, 21, 'N', 'W', 3, 55, 0, 'Q', 4])); // A22NW58Q4
console.log(f(['A', 'CDE', 1, 21, 'N', 'W', 3, 'Q', 4])); // ACDE22NW3Q4


Но вариант с регуляркой явно не переплюнуть...

Последний раз редактировалось ksa, 10.05.2023 в 15:44.
Ответить с цитированием