Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在expressJS中的app.get内部或外部循环数组?_Javascript_Node.js_Express_Variables - Fatal编程技术网

Javascript 在expressJS中的app.get内部或外部循环数组?

Javascript 在expressJS中的app.get内部或外部循环数组?,javascript,node.js,express,variables,Javascript,Node.js,Express,Variables,当数组“hikes”某些对象的键值(包括app.get()方法内的键值)并将一些新对象的键值推送到数组“hikes”时,它不会循环多个键值,这意味着不会推多个键值,而是当数组“hikes”放置在app.get()外时方法,将新对象的键值对推送多个或循环多个 let hikes = [ {name: 'Blue Mountain', image: 'https://picsum.photos/id/866/400/400'}, {name: 'Snowy Set',

当数组“hikes”某些对象的键值(包括app.get()方法内的键值)并将一些新对象的键值推送到数组“hikes”时,它不会循环多个键值,这意味着不会推多个键值,而是当数组“hikes”放置在app.get()外时方法,将新对象的键值对推送多个或循环多个

let hikes = [
        {name: 'Blue Mountain', image: 'https://picsum.photos/id/866/400/400'},
        {name: 'Snowy Set', image: 'https://picsum.photos/id/571/400/400'},
        {name: 'Foots on Sand', image: 'https://picsum.photos/id/156/400/400'},
        {name: 'Fog', image: 'https://picsum.photos/id/809/400/400'}
    ]

app.get("/hikes", (req, res) => {   
    let imageName = req.query.name;
    let imageURL = req.query.url;
    let hikesObj = {name: imageName, image: imageURL}

    hikes.push(hikesObj)
    res.render("hikes", {data: hikes})
})

不太清楚你在问什么。但在内部,我假定是一个局部声明,这意味着每次调用
app.get()
,整个数组都会被重新实例化,因此更改不会持久。外部将保持更改,但这将仅持续到应用程序重新启动。这可能发生在您正在进行的每一次代码更改上。真正不清楚的是,这是否是你不理解的范围或持久性部分。或者两者兼而有之。您可能会展示实际代码,演示内部和外部与您实际意思的区别对不起,我真的不知道我应该问什么,以及如何简要说明。但你明白了我想知道的,我也明白了。谢谢你的回答!这对我很有帮助。你似乎在谈论代码的两种变体,所以请在问题中同时显示这两种清单。然后展示预期的结果,以及你真正得到的结果。当你不知道如何解释时,展示效果最好。我对这里很陌生!要问我的第一个问题真的很难。你的建议将有助于我回答进一步的问题。