Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.08.2014, 17:30
Новичок на форуме
Отправить личное сообщение для FreeZa Посмотреть профиль Найти все сообщения от FreeZa
 
Регистрация: 10.02.2014
Сообщений: 9

Проблема с отрицательными числами и массивом
Доброго времени суток, столкнулся толи с математическим глюком, толи со своим не пониманием языка...

var temp = []; //создал массив
temp['blabla']= -1; //задал отрицательное значение

var bombom = true;
if(bombom == true){
     temp['blabla'] = temp['blabla']+1; //ожидание (-1 + 1 = 0)
}
console.log(temp['blabla']); //реальность (-1 + 1 = 1)


собственно как получить 0 ? =)

Заметил, что такое происходит только, когда работаю с массивом

Последний раз редактировалось FreeZa, 26.08.2014 в 17:35.
Ответить с цитированием
  #2 (permalink)  
Старый 26.08.2014, 17:36
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

чему равно ваше blabla?
var temp = []; //создал массив
console.log(blabla);
temp[blabla]= -1; //задал отрицательное значение


и вот так не пишут:
if(bombom == true) {...

внутри оператора if результатом выражения является булево значение, а у вас переменная и так булева, поэтому будет достаточно вот такого варианта:
if(bombom) {...
Ответить с цитированием
  #3 (permalink)  
Старый 26.08.2014, 17:44
Новичок на форуме
Отправить личное сообщение для FreeZa Посмотреть профиль Найти все сообщения от FreeZa
 
Регистрация: 10.02.2014
Сообщений: 9

Сообщение от skrudjmakdak Посмотреть сообщение
чему равно ваше blabla?
var temp = []; //создал массив
console.log(blabla);
temp[blabla]= -1; //задал отрицательное значение


и вот так не пишут:
if(bombom == true) {...

внутри оператора if результатом выражения является булево значение, а у вас переменная и так булева, поэтому будет достаточно вот такого варианта:
if(bombom) {...

Вообще это я для примера написал blabla и тд...
Вообще ключ в массиве это id элемента который я обрабатываю, для удобства, а его значение изначально равно 0

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

-1 + 1 = 1 и наоборот 1 - 1 = -1
Хотя в обоих случаях должен быть 0
Ответить с цитированием
  #4 (permalink)  
Старый 26.08.2014, 17:48
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,126

в приведенном тобой примере в консоль выводится 0
Ответить с цитированием
  #5 (permalink)  
Старый 26.08.2014, 17:50
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

У меня 0 получается, что я делаю не так?
Ответить с цитированием
  #6 (permalink)  
Старый 26.08.2014, 17:58
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

http://pixs.ru/showimage/Bezimyanni_...1_13576272.png
кстати да, работает. я чет не догадался запустить))
Ответить с цитированием
  #7 (permalink)  
Старый 26.08.2014, 18:02
Аватар для ixth
Профессор
Отправить личное сообщение для ixth Посмотреть профиль Найти все сообщения от ixth
 
Регистрация: 19.01.2010
Сообщений: 354

У меня вернулся ноль.
Ответить с цитированием
  #8 (permalink)  
Старый 26.08.2014, 18:12
Новичок на форуме
Отправить личное сообщение для FreeZa Посмотреть профиль Найти все сообщения от FreeZa
 
Регистрация: 10.02.2014
Сообщений: 9

Хихи...это у меня косяк в коде, оказалось что я ключ вообще не передавал в переменную собственно и получалось что я делаю примерно так

var temp = [];
temp[] = 0;
//a должна быть равна -1, а по факту она не определена
temp[a] = temp[a]+1;
//по факту получалось следующее
temp[] = temp[]+1;
temp[] = temp[]-1;

Ответить с цитированием
  #9 (permalink)  
Старый 26.08.2014, 18:25
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

FreeZa, яж про это и спрашивал. ну да ладно, главное разобрался
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с радио кнопками px379 Общие вопросы Javascript 8 29.07.2013 09:30
Проблема с двумерным массивом freestail Javascript под браузер 2 26.10.2012 19:09
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема с массивом объектов. bayah Общие вопросы Javascript 6 01.05.2010 18:57
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07