Node.js for循环仅输出JSON中的最后一项

编程入门 行业动态 更新时间:2024-10-07 10:24:29

<a href=https://www.elefans.com/category/jswz/34/1771450.html style=Node.js for循环仅输出JSON中的最后一项"/>

Node.js for循环仅输出JSON中的最后一项

下面的代码仅输出最后的结果,我不明白。我检查updateDate项是否同时包含2020-05,并且仅得到最后一个。循环没有循环:)

const briefing = [
        {
          "updateDate": "2020-05-05T00:00:00.0Z",
        },
        {
          "updateDate": "2020-05-06T00:00:00.0Z",
         },
         {
         "updateDate": "2020-05-13T00:00:00.0Z",
        }
        ];

       let date = new Date();
        var formattedYearMonth = date.getFullYear() + '-' + ('0' + (date.getMonth()+1)).slice(-2) + '-';

        for (var i = 0; i < briefing.length; i++) {
            var jsonDate = briefing[i].updateDate;
            if (jsonDate.includes(formattedYearMonth)) {
            var response = JSON.stringify(briefing[i]);
            }
        }return response;
}
回答如下:
for (var i = 0; i < briefing.length; i++) {
            var jsonDate = briefing[i].updateDate;
            if (jsonDate.includes(formattedYearMonth)) {
               var response = JSON.stringify(briefing[i]); // <==== THIS IS WHERE YOUR PROBLEM LIES
            }
        }return response;

循环实际上是循环的:)。但是对于循环的每次运行,您都将重置response的值。

-编辑-

为了使响应成为数组,您需要将代码修改为

let response = [];
for (var i = 0; i < briefing.length; i++) {
    var jsonDate = briefing[i].updateDate;
    if (jsonDate.includes(formattedYearMonth)) {
        response.push(JSON.stringify(briefing[i])); 
    }
}
return response;

更多推荐

Node.js for循环仅输出JSON中的最后一项

本文发布于:2024-05-07 12:44:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1756295.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Node   js   JSON

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!