Проблема с отрицательными числами и массивом
Доброго времени суток, столкнулся толи с математическим глюком, толи со своим не пониманием языка...
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 ? =) Заметил, что такое происходит только, когда работаю с массивом |
чему равно ваше 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 |
в приведенном тобой примере в консоль выводится 0
|
У меня 0 получается, что я делаю не так?
|
http://pixs.ru/showimage/Bezimyanni_...1_13576272.png
кстати да, работает. я чет не догадался запустить)) |
У меня вернулся ноль.
|
Хихи...это у меня косяк в коде, оказалось что я ключ вообще не передавал в переменную :lol: собственно и получалось что я делаю примерно так
var temp = []; temp[] = 0; //a должна быть равна -1, а по факту она не определена temp[a] = temp[a]+1; //по факту получалось следующее temp[] = temp[]+1; temp[] = temp[]-1; :lol: |
FreeZa, яж про это и спрашивал. ну да ладно, главное разобрался
|
Часовой пояс GMT +3, время: 15:02. |