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

Сообщение от scruwi
есть строка, к примеру str = "1+1+2+2+2+2";
нужно найти все совпадения и привести её к виду "1*2+2*4".
Как вариант...

var str = "1+1+2+2+2+2";
var a=str.match(/\d+/g);
var o={};
for (var i=0; i<a.length; i++) {
	o[a[i]]=o[a[i]]||0;
	++o[a[i]];
};
var dlm='';
str='';
for (i in o) {
	str+=dlm+i+'*'+o[i];
	dlm='+';
};
alert(str);
Ответить с цитированием