Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.01.2015, 18:37
Аватар для nayldock
Интересующийся
Отправить личное сообщение для nayldock Посмотреть профиль Найти все сообщения от nayldock
 
Регистрация: 05.01.2015
Сообщений: 19

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

document.writeln("сложение элементов: "+ nums2[3]+nums[0]+"<br>");
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2015, 18:42
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

document.writeln("сложение элементов: " + (+nums2[3] + +nums[0]) + "<br>");
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2015, 18:54
Аватар для nayldock
Интересующийся
Отправить личное сообщение для nayldock Посмотреть профиль Найти все сообщения от nayldock
 
Регистрация: 05.01.2015
Сообщений: 19

Спасибо! Но почему так? Как-то не логично и мало понятно, зачем плюсы перед массивами например?
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2015, 18:59
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

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

Цитата:
Я понимаю, что массив все хранит как строки, но как числа сложить?
Нет, массив хранит данные в тех типах, какими они являются. Просто ты изначально записал в массив строку, а не число. Преобразовать строку в число можно с помощью функции parseInt().
Ответить с цитированием
  #5 (permalink)  
Старый 09.01.2015, 19:00
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

nayldock,
дополнительные плюсы нужны для неявного преобразования строки в число.
Ответить с цитированием
  #6 (permalink)  
Старый 09.01.2015, 19:11
Аватар для nayldock
Интересующийся
Отправить личное сообщение для nayldock Посмотреть профиль Найти все сообщения от nayldock
 
Регистрация: 05.01.2015
Сообщений: 19

Сообщение от Safort Посмотреть сообщение
nayldock,

Конечно бесполезно, ведь такого метода не существует.
parseInt() конечно, пардон. В сообщении ошиблась
Ответить с цитированием
  #7 (permalink)  
Старый 09.01.2015, 19:21
Аватар для Safort
Профессор
Отправить личное сообщение для Safort Посмотреть профиль Найти все сообщения от Safort
 
Регистрация: 23.12.2013
Сообщений: 1,856

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

var a = 123;
var b = '123';
alert(typeof a);
alert(typeof b);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск подструктуры в массиве json данных amt779 Общие вопросы Javascript 4 07.06.2013 18:53
Не понимаю JavaScript. Как сделать ожидание события загрузки данных? xintrea AJAX и COMET 7 01.06.2013 17:18
Исключение нулевых данных в массиве weber Элементы интерфейса 5 09.04.2013 01:28
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Получение данных из тега в массиве, как? Madd Общие вопросы Javascript 37 06.07.2010 00:59