Невозможно удалить двойные кавычки из пары значений

1

Я получаю данные даты и устанавливаю дату в объект 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"
};

Как удалить двойные кавычки из значений?

Теги:
momentjs

3 ответа

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);
2

Вам нужно преобразовать строку в число.

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

Вы можете попробовать таким образом, используя Array.prototype.map()

var myObject = {
  'year': "2018",
  'month': "9",
  'day': "14"
};
var result = {};
Object.keys(myObject).map(function(key, index) {
  result[key] = +myObject[key];
});
console.log(result)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню