Как изменить значение строки объекта в число - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть объект, как показано ниже. Иногда он будет содержать status, иногда нет. Я хочу преобразовать формат значения статуса в Number, когда он в объекте.

var obj={ 
  name: 'abc',
  status: '1',
  updated_time: { 
    '$gt': 2019-11-03T00:00:00.000Z,
    '$lt': 2019-11-03T15:23:55.838Z 
  } 
}

Я пробовал, как показано ниже, но он не конвертируется;

if(obj.status){
  parseInt(obj.status)
}
console.log("$$$$$$$$$$$$$$$$",obj)

консоль. печать журнала

$$$$$$$$$$$$$$$ {name: 'abc', статус: '1', updated_time: {'$ gt': 2019-11-03T00: 00: 00.000Z, '$ lt': 2019-11-03T15: 23: 55.838Z}}

Ответы [ 3 ]

1 голос
/ 03 ноября 2019

Вам необходимо присвоить обратно проанализированное значение для object.status. Метод parseInt просто оценивает значение, которое не меняет само значение в объекте. вам нужно изменить значение вручную на объекте.

var obj = {
  name: 'abc',
  status: '1',
  updated_time: {
    '$gt': '2019-11-03T00:00:00.000Z',
    '$lt': '2019-11-03T15:23:55.838Z'
  }
}

if (obj.status) {
  obj.status = parseInt(obj.status)
}
console.log("$$$$$$$$$$$$$$$$", obj)
1 голос
/ 03 ноября 2019

Это просто простая ошибка, приятель. Вы не присвоили значение.

Вы можете сделать это следующим образом:

if(obj.status){
  obj.status = parseInt(obj.status); //obj.status is being reassigned
}

Надеюсь, это поможет:)

1 голос
/ 03 ноября 2019

parseInt возвращает значение, и вам необходимо присвоить это значение свойству object.status:

if(obj.status){
  obj.status = parseInt(obj.status)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...