Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
31 / 31 / 3
Регистрация: 18.03.2009
Сообщений: 381
Записей в блоге: 2
1

.split() Работает через раз!!!

07.07.2011, 17:20. Показов 1967. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть строка
"0|1||~1|2|sd|~1|3|sdfsdf|~2|4|dsfsdfds|~3|5|dsfsdfs|~"

Javascript
1
2
3
4
5
6
7
8
var nodes=codeStr.split('~');
 
for(i=0; i<nodes.length-1; i++)
{
alert(nodes[i]);
node=nodes[i].split('|'); 
tree.addNodeInfo(node[0],node[1], node[2], node[3]);
}
так вот метод split напрочь не хочет к массив добавлять элемент "1|3|sdfsdf|", просто игнорирует хотя он ничем абсолютно не отличается! похоже придется писать рукописную функцию, раз уж разработчики не могли по нормальному сделать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.07.2011, 17:20
Ответы с готовыми решениями:

Не работает split()
Всем привет. Имею ответ на аякс запрос $.ajax({ url:'/dieta/admin/full-report.html',...

Метод split - выдается ошибка Uncaught TypeError: Cannot read property 'split' of undefined
Вот кусок кода CheckLinkText: function(val, f){ if(!$('#attach_lnk_stared').val()){...

Не работает верно анимация плагина wow при split тестах
При split- тестировании анимации сессии рандомно выводимые параметры &quot;wow&quot; (с анимацией)...

Код работает через раз
Добрый день. Не могу несколько дней разобраться с одним кодом, работает но почему то через раз (на...

2
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
07.07.2011, 22:22 2
Цитата Сообщение от [XandeR
;1825028]i<nodes.length-1
Зачем ставишь минус один, ведь split пустое значение не занесёт в массив, а так пропустишь последнйи токен.
0
31 / 31 / 3
Регистрация: 18.03.2009
Сообщений: 381
Записей в блоге: 2
08.07.2011, 13:49  [ТС] 3
да там в силу данной структуры последний элемент автоматически отбрасывается как пустой, он всегда пустой, а вот 3 значение по прежнему не воспринимается..

Добавлено через 29 минут
между прочим сплит воспринимает пустое значение

Добавлено через 12 часов 49 минут
Ха
написал рукописную функцию
Javascript
1
2
3
4
5
6
7
8
var nodes=new Array();//codeStr.split('~');
var tmp=0;
 
while (codeStr.substr(tmp,codeStr.length).indexOf(delimiter[1])>0)
{   
    nodes.push(codeStr.substr(tmp,codeStr.substr(tmp,codeStr.length).indexOf(delimiter[1])));
    tmp+=codeStr.substr(tmp,codeStr.length).indexOf(delimiter[1])+1;
}
и тот же косяк, но тут оказывается проблема в другом!

Javascript
1
2
3
4
5
6
for(i=0; i<nodes.length; i++)
{
alert(nodes[i]+" i="+i);
node=nodes[i].split('|'); 
tree.addNodeInfo(node[0],node[1], node[2], node[3]);
}
этот цикл строго пропускает итерацию когда i=2 !!!! постоянно пропускает и я не могу найти этому разумного объяснения!

Добавлено через 6 минут
проблема решена подменой цикла
Javascript
1
2
3
4
5
6
7
8
var i=0;
while (i<nodes.length)
{
alert(nodes[i]+" i="+i);
node=nodes[i].split('|'); 
tree.addNodeInfo(node[0],node[1], node[2], node[3]);
i++;
}
я в шокэ
О_о
0
08.07.2011, 13:49
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.07.2011, 13:49
Помогаю со студенческими работами здесь

Селектор :eq() работает через раз
Добрый день и хорошего настроения, товарищи программисты! Объясните мне, пожалуйста, почему...

Через раз работает Wi-Fi
Добрый день. Решил создать новую тему, т.к. перепробовал уже кучу способов по решению проблемы с...

БП работает через раз
Здравствуйте!Подскажите если знаете в чём дело.Комп включается &quot;по настроению&quot;.А когда не...

CloseMainWindow() работает через раз
Не могу понять в чем дело. Задача усложняется невозможностью отследить исполнение приложения....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru