无法从“ for”语句中获取修改后的数组

时间:2018-10-30 14:20:44

标签: javascript arrays service-worker

我正在尝试通过JSON导入将经过修改的拇指列表中的项目添加到服务工作者存储缓存中。

一切工作都产生了一个格式正确且完整的拇指数组以进行缓存-console.log(cacheArray)语句内部的for-但我似乎无法从中获得最终的数组函数-console.log('updateCache: ' + cacheArray)返回空白:

    fetch('alldates.txt').then(function(response) {
        return response.text();
    }).then(function(string) {
        var alldatesobj = JSON.parse(string);
        var cacheThumb;
        var thumbslist = Object.values(alldatesobj);
        var cacheArray = new Array();
        function updateCache(cacheArray) {
            for(i = 1; i <= thumbslist.length; i++) {
                cacheThumb = thumbslist[i].replace('100315', '100315/thumbs');
                cacheArray.push(cacheThumb);
                //console.log(cacheArray.slice(-1)[0]);
                //console.log(cacheArray);
                //^^^ array is correctly formed!!!
            }
            return cacheArray;
        }
        updateCache(console.log('updateCache: ' + cacheArray));
    });

1 个答案:

答案 0 :(得分:0)

遗憾的是,我无法解析这些答复:即使它们指向了总体方向,我也缺乏基本知识。

其他人提供了解决方案:

fetch('alldates.txt').then(function(response) {
    return response.text();
}).then(function(string) {
    var alldatesobj = JSON.parse(string);
    var cacheArray = Object.values(alldatesobj).map(function(item){
        return item.replace(/100315/,'$&/thumbs');
    });
    console.log('cacheArray: ' + cacheArray);
});