我正在学习JavaScript。我写了这段代码来学习map函数。但是后来我感到困惑,为什么为什么不连续映射它,因为每个映射序列都会将一个新元素推入数组。它不应该在映射过程中继续推动新元素吗?为什么map函数仅对原始的三个元素运行,而对新的推入元素不运行?
我试图在节点环境中对其进行调试,并且该arr变量处于关闭状态。我知道闭包是什么,但我无法理解这里发生了什么。
let array = [1, 2, 3];
array.map((element) => {
array.push(10);
console.log(element);
});Run Code Online (Sandbox Code Playgroud)
我希望输出应该是 1,2,3,10,10,10,10,10,10,10,10......10
但是实际输出仅为1,2,3。
我正在尝试向 json-server 发出 get 请求以获取嵌套对象。但它返回空响应而不是对象关键数据。
我已经阅读了文档,并且没有任何特定于我所拥有的数据库结构的内容。
我想过滤模型数组但不获取模型数据。
我的 db.json 文件是
{
"data": {
"model":
[
{
"name": "BERLINGO",
"manufacturerName": "CITREON",
"id": 1
},
{
"name": "C3",
"manufacturerName": "CITREON",
"id": 2
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
对于 GET /data ,我收到以下响应。
{
"model": [
{
"name": "BERLINGO",
"manufacturerName": "CITREON",
"id": 1
},
{
"name": "C3",
"manufacturerName": "CITREON",
"id": 2
}
]
}
Run Code Online (Sandbox Code Playgroud)
对 /data/model 的 GET 调用给出了一个空对象。
{}
javascript ×2
array-push ×1
arrays ×1
closures ×1
http ×1
json ×1
json-server ×1
map-function ×1
rest ×1