Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   непонятное поведение скрипта (https://javascript.ru/forum/misc/27072-neponyatnoe-povedenie-skripta.html)

bpystep 01.04.2012 23:40

непонятное поведение скрипта
 
function addEnd(node) {
	var list = node.value.split(" ");
	for (var i=0; i<list.length; i++) {
		if (list[i] == '[end]') {
			var flag = true;
		}
	}
	if (!flag) {
		node.value = node.value.replace(list[30], list[30]+' [end] ');
	}
}


суть я думаю ясна. я беру строку, делю её на слова, проверяю есть ли слово [end], и если его нет тоставлю его после 30-ого слова. только получается что [end] может вставится куда угодно, и после 2 слова и после 3 слова.
в чем проблема?

dmitriymar 01.04.2012 23:46

Цитата:

Сообщение от bpystep
node.value = node.value.replace(list[30], list[30]+' [end] ');

находит первое совпадение и заменяет. вы так уверенны что 30 существует или в нём находиться то что нужно?

bpystep 02.04.2012 00:48

понял, спс, буду исправлять.


Часовой пояс GMT +3, время: 12:48.