【问题标题】:javascript object modification add key for the object [closed]javascript对象修改为对象添加键[关闭]
【发布时间】:2023-03-10 15:01:01
【问题描述】:

我需要为我的对象添加年、月、日。这是我当前的字符串数组

["2021-11-01","2021-11-02"]

我需要将其转换如下

[{ year: 2021, month: 11, day: 01 }, { year: 2021, month: 11, day: 02 }]

我如何进行这种转换。谢谢

【问题讨论】:

  • 到目前为止你尝试过什么?您是否查看过 Date 对象? Intl 对象呢?
  • 拥有day: 01 之类的唯一方法是使用字符串day: '01'
  • 只需在arr 上使用map,然后将其与- 拆分并返回新对象。

标签: javascript


【解决方案1】:

只需将split() 转化为日期组件,map() 将字符串转化为数字使用parseInt(),并创建一个对象:

const data = ["2021-11-01","2021-11-02"];

const result = data.map(d => {
  const [year, month, day] = d.split('-').map(v => parseInt(v));
  return {year, month, day};
});

console.log(result);

【讨论】:

  • 这真的是我们希望 SO 工作的方式吗?教导人们他们可以在这里放弃任何零努力,零研究的问题,人们会自暴自弃地把解决方案交给他们,这样他们一旦遇到下一个初学者的障碍就会马上回来?不用了,谢谢。
  • 也不是 OP 想要的输出。
  • 与其毫无意义的讽刺,为什么不解决我的观点?
  • @Andy 由于数字不保留 0 前缀,因此无法实现所需的输出 OP。是1"01"
  • 这可以像const [year, month, day] = d.split('-'); return {year: +year, month: +month, day: +day}; 一样简单。你可以避免一个额外的map
猜你喜欢
  • 2013-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 2022-07-21
  • 2020-07-11
  • 2020-05-12
  • 2010-12-17
相关资源
最近更新 更多