Можно ли запомнить предыдущее значение массива без сохранения в переменную?
Добрый день, допусти я получаю объект в виде числа:
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, время: 05:55. |