Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   необходими разделить строку на слова и положить слова в массив при помощи цикла for (https://javascript.ru/forum/misc/31362-neobkhodimi-razdelit-stroku-na-slova-i-polozhit-slova-v-massiv-pri-pomoshhi-cikla.html)

oneee 05.09.2012 01:27

необходими разделить строку на слова и положить слова в массив при помощи цикла for
 
помогите пожалуйчта, не понимаю в чем дело.
необходими разделить строку на слова и положить слова в массив
при помощи цикла for

var a = [];
var str = 'По просьбам некоторых читателей решил написать топик про контекст в javascript';

var firstCharIndex = null;
for (var i=0; i<str.length; i++) {
if (str[i] == ' ') {
if (firstCharIndex !== null) {
var s = str.substr(firstCharIndex, i-1);
a.push(s);
firstCharIndex= null;
}
}
else {
if (firstCharIndex === null) {
firstCharIndex = i;
}
}
};

oneee 05.09.2012 02:06

это js


var a = [];
var str = 'По просьбам некоторых читателей решил написать топик про контекст в javascript';

var firstCharIndex = null;
for (var i=0; i<str.length; i++) {
if (str[i] == ' ') {
if (firstCharIndex !== null) {
var s = str.substr(firstCharIndex, i-1);
a.push(s);
firstCharIndex= null;
}
}
else {
if (firstCharIndex === null) {
firstCharIndex = i;
}
}
};

Aetae 05.09.2012 02:11

Чем вам не нравится обычный split?

Или это очередная ученическая задача? Если так - то делать её должны вы сами.

oneee 05.09.2012 11:52

массив получается вот такой: ["П" "просьбам н" "некоторых читателей' "читателей решил написать топик" "решил написать топик про контекст в " "написать топик про контекст в javascript" "топик про контекст в javascript" "про контекст в javascript" "контекст в javascript" "в javascript"]

а нужно, чтобы слова были целые
это задание я придумала сама для себя и запуталась

lord2kim 05.09.2012 12:21

oneee,
var str = 'По просьбам некоторых читателей решил написать топик про контекст в javascript';
alert(typeof str.split(" ") + "\n" + str.split(" "));



var str = 'По просьбам некоторых читателей решил написать топик про контекст в javascript', mas = [], j = 0;
for (i = 0; i < str.length; i++) {
    if (str[i] == " ") { j++; continue; }
    else {
        mas[j] ? mas[j] += str[i] : mas[j] = str[i];
    }
}
alert(mas);

ksa 05.09.2012 14:30

Цитата:

Сообщение от oneee
это задание я придумала сама для себя и запуталась

- Доктор... Когда я делаю вот так (сгибается в неимоверную позу) - у меня сильно болит вот тут.
- Не делайте так.
(с)


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