无法从值对中删除双引号

时间:2018-09-14 08:43:14

标签: javascript json momentjs

我正在获取日期数据并将日期设置为JSON对象

let lastSeven = moment().subtract(7, 'd').toDate();
var dat =  moment(lastSeven).format('D');

dat = dat.replace(/^"(.*)"$/, '$1');

我必须获取这样的数据

{
  'year': 2018,
  'month': 9,
  'day': 14
};

但是在替换之后,我也得到了

{
  'year': "2018",
  'month': "9",
  'day': "14"
};

如何从值中删除双引号?

2 个答案:

答案 0 :(得分:2)

您需要将字符串转换为数字。

for(var key in data){
    data[key] = Number(data[key]);
}

答案 1 :(得分:1)

在没有双引号的情况下,它们将是数字,因此请将所有值都转换为数字。

let obj = {
  'year': 2018,
  'month': 9,
  'day': 14
};

for (let property in obj) {
  if (obj.hasOwnProperty(property)) obj[property] = +obj[property];
}
console.log(obj);