如何根据Javascript中的现有日期动态地向JSON数组添加日期?
我想根据日期动态地向JSON数据添加day。我使用momentData.Date.format'dddddd'来获取日期 我的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
{
"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可以创建一周中的某一天,但它不会将其保存在他的对象中。