replace () не является функцией nodejs - PullRequest
0 голосов
/ 02 апреля 2020

Я приветствую ответ от mysql db и в нем содержится значение bool, и я хочу изменить 1 = True и 0 = false, вот мой код. но функция замены не работает:

Ошибка типа: data [i] .defaultstatus.replace не является функцией

Вот мой код:

     var data= "select * from table"

        for (var i = 0; i < data.length; i++) {
        detail[i] = {
            "id":data[i].id,
          "Enabled":data[i].defaultstatus.replace('1', 'True' || '0','false'),
          "CreationDate":data[i].created_at,
          "ModificationDate":data[i].updated_at
          }
      }
     resolve(detail)

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

я думаю, проблема в том, как вы применяете функцию replace , проверьте, какое значение перед вызовом функции замены

, попробуйте это:

   var data= "select * from table"
      for (var i = 0; i < data.length; i++) {
        detail[i] = {
            "id":data[i].id,
             "Enabled": data[i].defaultstatus==1? data[i].defaultstatus.replace('1','True'):data[i].defaultstatus.replace('0', 'False')'
          "CreationDate":data[i].created_at,
          "ModificationDate":data[i].updated_at
          }
      }
     resolve(detail)

ИЛИ

исключить функцию замены все вместе

    var data= "select * from table"
        for (var i = 0; i < data.length; i++) {
        detail[i] = {
            "id":data[i].id,
          "Enabled": data[i].defaultstatus==1? 'true':'False
          "CreationDate":data[i].created_at,
          "ModificationDate":data[i].updated_at
          }
      }
     resolve(detail)
0 голосов
/ 02 апреля 2020

данные [i] будут содержать «s», «e», «l», «e» и т. Д. c. Поэтому, когда вы пытаетесь получить значение по умолчанию для data [i], фактически вы пытаетесь выполнить s.defaultstatus, которого не существует.

Далее, когда вы используете функцию замены, возникает ошибка, потому что data [i] .defaultstatus не определено.

Я думаю, что существует путаница между sql запросом и ожидаемыми данными.

С уважением

...