Показать сообщение отдельно
  #11 (permalink)  
Старый 18.06.2012, 23:00
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Dorian_bs
Необходимо, осуществить проверку на существование такого "id" (номера).
Если существует - записать в массив элементы данного ID.
а я про это запамятовал:
var s = '[ID1|text1|text2|text3|text4][ID2|text1|text2|text3|text4][ID1|text15|text24|text36|text42]';
 
var blocks = s.replace(/^\[|\]$/g, "").split("]["),
    block, result = {}, id;
 
for( var i = 0, length = blocks.length; i < length; i++ ) {

    id = (block = blocks[ i ].split("|")).shift();

    if ( id in result ) {
        // добавим элементы в уже существующий
        result[ id ] = result[ id ].concat( block );
    } else {
        // создадим новый не существующий
        result[ id ] = block;
    }
}
 
alert( JSON.stringify( result ) );
// {"ID1":["text1","text2","text3","text4","text15","text24","text36","text42"],"ID2":["text1","text2","text3","text4"]}
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием