Консультация № 161714
01.03.2009, 17:14
0.00 руб.
0 9 1
Здравствуйте!
У меня задание: Требуется с помощью методов Lenght, indexof, substring выделить из строки числа, числа расположены через пробел. Пример: строка: 0 12 16 182. Необходимо выделить эти числа из строки и засунуть их массив. Я писал подобное на VB6, Delphi 7, Pascal, но как на JavaScript не знаю.
Очень надеюсь на помощь! Спасибо!

Обсуждение

Неизвестный
01.03.2009, 17:37
общий
Обязательно этими функциями? Есть ведь просто split()...
Неизвестный
01.03.2009, 21:16
общий
это ответ
Здравствуйте, AkaProc!

Абсолютно согласен с Иваном Сергеевичем.
Но если тут дело принципа или это одно из школьных заданий, то делается это вот так:

var x = '0 12 16 182';
var iArr = new Array(); //подготавливаем массив для целых чисел
while(x.indexOf(' ') != -1) //пока есть в строке пробелы выполняем
{
iArr[iArr.length] = parseInt(x.substring(0,x.indexOf(' '))); // определяем первое число и вносим его в массив
x = x.substring(x.indexOf(' ') + 1); // отсекаем первое число дабы не мешало.
}

if(x.length > 0) //если последним символом строки был НЕ пробел, то вносим в массив последнее оставшееся число
{
iArr[iArr.length] = parseInt(x);
}

Удачи.
Неизвестный
01.03.2009, 21:35
общий
Спасибо! Работает!
Скажите, пожалуйста, а как можно отключить кнопку, т.е. сделать ее недоступной после выполнения процедуры?
Неизвестный
01.03.2009, 21:41
общий
Я бы порекомендовал сохранять значение выражения x.indexOf(' ') внутри цикла в переменной, чтобы не вызывать его втрое чаще, чем нужно ;)
давно
Советник
419
1012
02.03.2009, 10:31
общий
лучше сделать с помощью SPLIT(' ')

Неизвестный
02.03.2009, 22:24
общий
Можно и в переменную... просто на самом деле это абсолютно безсмысленный алгоритм.
Никогда не понимал все эти бесполезные задания.
Учителя вместо того, чтобы показать самый правильный и самый быстрый метод постоянно заставляли придумать десяток абсолютно непрактичных.

AkaProc,
А чтоб кнопку сделать недоступной нужно сделать так

document.getElementById("button_id_goes_here").disabled = true;
Неизвестный
02.03.2009, 22:53
общий
Благодарю! На самом деле я не школьник, я студент. Пытаюсь освоить JavaScript. Вроде, чего-то уже получилось.
Неизвестный
02.03.2009, 22:57
общий
Не знаю насчет бессмысленности - по сути студентов учат мыслить алгоритмами, а не готовыми функциями
Неизвестный
02.03.2009, 23:45
общий
А как по мне, то учить человека мысль алгоритмами это неблагодарное занятие.
Человек либо умеет думать алгоритмами, либо нет.
Одни рождаются, чтобы стучать по клаве, а другие, чтобы стучать по Клаве... :-)))
как говорится - богу богово, кесарю кесарево.

И вообще There are 10 types of people. Those who understand binary and those who don't. :-)))
Форма ответа