Если вам нужна отложенная загрузка значений только при доступе к ней, вы можете превратить функцию аккумулятора в генератор (для производительности). Есть и другие вещи, которые вы можете сделать, например, использовать обещания и генератор для получения значений. Хотя, если вы не видите каких-либо проблем с производительностью, это не нужно.
function accGoPark(reset) {
return accFn(goPark, reset);
}
function accFn(fn, reset) {
const accs = accFn.accs = accFn.accs || {};
const { name } = fn;
accs[name] = !accs[name] || reset ? [] : accs[name];
accs[name] = accs[name].concat( fn() );
return accs[name];
}
Вы просто устанавливаете переменную xy в качестве ссылки на ваши последние данные. Вы получаете только последний. Вы должны просто отобразить ordasArray напрямую.
xxy = coordsArray.map(function(data){
var obj = data._latlngs;
return Object.keys(obj).map(function(key){
return obj[key];
})
})
Использование Object.values, деструктуризации и функций стрелок для упрощения синтаксиса:
xxy = routeLayer.map( ({ _layers: { _latlngs: xy }) => Object.values(xy) );