如何根据Javascript中的现有日期动态地向JSON数组添加日期?

如何根据Javascript中的现有日期动态地向JSON数组添加日期?,javascript,node.js,json,Javascript,Node.js,Json,我想根据日期动态地向JSON数据添加day。我使用momentData.Date.format'dddddd'来获取日期 我的JSON数据是 { "Date": "2019/09/12" }, { "Date": "2019/09/12" }, { "Date": "2019/09/12" }, 我想插入这样的一天 { "Date": "2019/09/12" "Day": "Monda

我想根据日期动态地向JSON数据添加day。我使用momentData.Date.format'dddddd'来获取日期

我的JSON数据是

{
      "Date": "2019/09/12"
    },
    {

      "Date": "2019/09/12"
    },
    {

      "Date": "2019/09/12"
    }, 
我想插入这样的一天

{
       "Date": "2019/09/12"
      "Day": "Monday"
    },
    {

      "Date": "2019/09/13"
       "Day": "Tuesday"
    },
    {

      "Date": "2019/09/12"
       "Day": "Wednesday"
    },
我尝试添加Data[Date]=momentData.Date.format'dddddd',但不起作用。

示例代码:

$document.readyfunction{ 变量对象={ 日期:2019/09/12 } object['Day']=momentobject.Date.formatddddd; console.logobject; }; 我试着添加Data[Date]=momentData.Date.format'ddddddd',但不起作用

似乎您正在覆盖一个对象的Date属性,该属性会破坏该日期以前的值。相反,为每个名为Day的对象添加一个新键,该对象保存新值。循环遍历数组并修改每个对象

或者,您可以简单地尝试修改包含所有对象的数组,但什么也没有发生。从你的代码看不出来

下面的示例修改示例数据以添加新的日期键

也要考虑在年月日以破折号代替斜线格式的日期,因为这是一个注意日期的标准。如果您这样做,moment.js也会非常高兴

旁注 如果不希望修改原始数据,请考虑使用数组的方法从原始JSON数据创建新数组,但使用修改后的键和值。就像@fallereneaper建议的那样

常数数据=[ { 日期:2019-09-12 }, { 日期:2019-09-13 }, { 日期:2019-09-14 }, ]; data.forEachitem=>{ 施工日期=时刻表日期; const day=日期。格式为“dddd”; 项目天=天; }; 控制台日志数据;
谢谢你,法伦雷珀。根据您在评论中的建议,工作代码为

数据是json对象数组

objectList = Data.map( obj => { 
    obj["Day"] = moment(obj.Date,"YYYY/MM/DD").format('dddd'); 

    return obj;})


d、 getDate将以数字0-6的形式获取一周中的某一天。您可以很容易地拥有一个解析器,它接受0-6并将其转换为字符串。。DaysStringaray=[Sunday….],然后您可以说:DaysStringaray[d.getDate]| |未找到我已经有了day值。但无法将其动态添加到每个JSON对象。objectList=objectList.map Data=>{Data[Day]=..;return Data;}听起来像是您正在设置对象,但没有保存它。因此,map函数所做的是将所有增强应用于每个对象,然后返回这个新对象。它将保留先前存在的k-v对,但添加您可能需要的任何其他对。OP说,hey可以创建一周中的某一天,但它不会将其保存在他的对象中。