В этом коде ... mapObj.fetchTimeObjs
НЕ МОЖЕТЕ измениться????!
Как-то mapObj.fetchTimeObjs
получает изменилось, когда эта функция выполняется:JavaScript scoping (копирование одного массива в другой)
function clockErasePast(){
var now = new Date().getTime();
var tmpFetchTimeObjs = [];
for(var i =0; i<mapObj.fetchTimeObjs.length; i++){
tmpFetchTimeObjs.push(mapObj.fetchTimeObjs[i]);
if(mapObj.fetchTimeObjs[i].start < now){tmpFetchTimeObjs[i].start = now;}
}
return tmpFetchTimeObjs;
}
ok ... так как я могу сделать копию этого ... так что я могу изменить tmp и не испортить оригинал? – rikkitikkitumbo
@rikkitikkitumbo см. Обновление –
ну, безболезненное тестирование со старым дерьмовым ipod (Object.assign, похоже, не работает в более старых версиях сафари). Это единственное решение, которое работает для всего: $ .extend (true, [], mapObj.fetchTimeObjs) .... нашел его здесь: http://stackoverflow.com/questions/7486085/copying-array-by -value-in-javascript – rikkitikkitumbo