Можно ли запомнить предыдущее значение массива без сохранения в переменную?
Добрый день, допусти я получаю объект в виде числа:
var data = {number:1}; Я обновляю информацию об объекте методом setInterval; function getData(){ $.getJSON('getData', function(data) { //data = {number:1} }); } setInterval(function() { getData(); }, 1000); Теперь вопрос, можно ли не сохраняя информацию в отдельную переменную узнавать изменилось ли число в объекте? Для пояснения вопроса, сейчас для понимания изменилось ли значение в объекте, я делаю так: var data1 = []; function getData(){ $.getJSON('getData', function(data) { setTimeout (function() { data1 = data[0].number; },1000); if(data[0].number != data1[0]){ //значит значение изменилось } }); } setInterval(function() { getData(); }, 2000); То есть прост записываю это же значение в другую переменную секундой позже. |
Цитата:
|
ksa,
А как отследить чтобы записать сам факт изменения? |
|
Nexus,
Думаю оставлю все как есть, нормально отрабатывает =) |
Цитата:
var data1 = []; function getData(){ $.getJSON('getData', function(data) { if(data[0].number != data1[0]){ //значит значение изменилось *!* data1 = data[0].number; // раз изменилось, значит сохраняем новое значение */!* } }); } |
Белый шум,
Без таймаута эти значения всегда будут равны =) |
var b={number:1}; setInterval(function(){ var a = {number:Math.floor(Math.random()*3)}; // меняем значение от 0 до 2 console.log(a,b); console.log(a.number==b.number); b.number = a.number; },1000); изучите внимательно конструкцию в b.number сохраняем значение a.number после проверок и манипуляций, за счет этого при следующем вызове b.number помнит пред идущее значение a.number |
j0hnik,
Хитро, постараюсь применить, спасибо :yes: :thanks: |
Nexus, observe вроде как выпилили уже.
|
Часовой пояс GMT +3, время: 10:19. |