[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Вопрос по масивам
pekkyДата: Понедельник, 13.10.14, 16:05:53 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 65
Награды: 1
Репутация: 0
Замечания: 0%
Статус: Offline
Ребят, есть масив, в нём числа, мне нужно добавить все числа масива и вложить в переменую, я применил цикл у меня все получается только проблема в том что числа в масиве строкового типа, и как только я в цикл добавляю
Код
maSiv[i].parseInt(maSiv[i])
цикл перестает работать, как мне сделать масив числовым типом ? вот код:

Код
var result = 0;
var i = 0;
while (i < maSiv.length) {
maSiv[i].parseInt(maSiv[i]);
result = result + maSiv[i];
i++;
}


Сообщение отредактировал pekky - Понедельник, 13.10.14, 16:09:29
 
pekkyДата: Понедельник, 13.10.14, 16:31:35 | Сообщение # 2
Лейтенант
Группа: Пользователи
Сообщений: 65
Награды: 1
Репутация: 0
Замечания: 0%
Статус: Offline
pekky, я там в синтаксисе запутался(( убирите тему
 
АрманДата: Понедельник, 13.10.14, 16:32:44 | Сообщение # 3
Лейтенант
Группа: Модератор
Сообщений: 47
Награды: 1
Репутация: 3
Замечания: 0%
Статус: Offline
pekky, Есть грубая ошибка, очень грубая. В массиве символов (тексте) числа сохраняются как символы, для примера 1234, это всего лишь картинки, соответствующие каким-то значением в ASCII таблице.
А вот с числами все по-другому. Если смотреть в том же примере 1234, здесь 1 из символов должно перевестись в 1000, 2 = 200, 3 = 30, 4 = 4, То есть ты должен в зависимости от длинны и индекса (maSiv.length - i) добавлять нули в конце.

К счастью parseInt функция это уже делает. Тебе остается только весь массив без всяких циклов ввести в parseInt и получить свой ответ.

Код

var result = parseInt(maSiv[i], 10);


P.S. Совет - прежде чем использовать какую-то функцию прочитай о нем, там написано, что parseInt - у нужен текст и указать в какую систему исчисления переводить число (для твоего случая - 10). У тебя и вызов неправильный и оба аргумента (второго вообще нет).
 
АрманДата: Понедельник, 13.10.14, 16:36:24 | Сообщение # 4
Лейтенант
Группа: Модератор
Сообщений: 47
Награды: 1
Репутация: 3
Замечания: 0%
Статус: Offline
pekky, ты там не только в синтаксисе ошибся :). Если ты и исправишь свой результат не получишь, получишь сумму цифр, которые были в массив "12" = 12, а не 3.
 
  • Страница 1 из 1
  • 1
Поиск: