Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   тип данных в массиве (https://javascript.ru/forum/misc/52850-tip-dannykh-v-massive.html)

nayldock 09.01.2015 18:37

тип данных в массиве
 
Здравствуйте! Подскажите, пожалуйста, почему при сложении двух элементов массивов получается строка? Пробую преобразовать в число методом intPase(), бесполезно. Я понимаю, что массив все хранит как строки, но как числа сложить?

document.writeln("сложение элементов: "+ nums2[3]+nums[0]+"<br>");

ruslan_mart 09.01.2015 18:42

document.writeln("сложение элементов: " + (+nums2[3] + +nums[0]) + "<br>");

nayldock 09.01.2015 18:54

Спасибо! Но почему так? Как-то не логично и мало понятно, зачем плюсы перед массивами например?

Safort 09.01.2015 18:59

nayldock,
Цитата:

Пробую преобразовать в число методом intPase(), бесполезно.
Конечно бесполезно, ведь такого метода не существует.

Цитата:

Я понимаю, что массив все хранит как строки, но как числа сложить?
Нет, массив хранит данные в тех типах, какими они являются. Просто ты изначально записал в массив строку, а не число. Преобразовать строку в число можно с помощью функции parseInt().

Safort 09.01.2015 19:00

nayldock,
дополнительные плюсы нужны для неявного преобразования строки в число.

nayldock 09.01.2015 19:11

Цитата:

Сообщение от Safort (Сообщение 350489)
nayldock,

Конечно бесполезно, ведь такого метода не существует.

parseInt() конечно, пардон. В сообщении ошиблась

Safort 09.01.2015 19:21

Если не знаешь какого типа переменная, то можно использовать оператор typeof.

var a = 123;
var b = '123';
alert(typeof a);
alert(typeof b);


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