Как заменить undefined пустой строкой
Я использую jsPdf. Когда поле осталось пустым, в формате pdf будет напечатан "undefined". Я хотел бы заменить это пустой строкой. Я пытаюсь использовать оператор if, но я не получаю его.
doc.text(30, 190, "Budget : $");
if ($scope.currentItem.JobOriginalBudget == "undefined") {
doc.text(50, 190, " ");
}
else {
var y = '' + $scope.currentItem.JobOriginalBudget;
doc.text(50, 190, y);
};
Ответы
Ответ 1
undefined
является примитивным значением. Вместо сравнения с идентификатором undefined
вы сравниваете с 9-символьной строкой "undefined
".
Просто удалите кавычки:
if ($scope.currentItem.JobOriginalBudget == undefined)
Или сравнить с результатом typeof
, который представляет собой строку:
if (typeof $scope.currentItem.JobOriginalBudget == "undefined")
Ответ 2
Как этот ответ Я считаю, что вы хотите
doc.text(50, 190, $scope.currentItem.JobOriginalBudget || " ")
Ответ 3
просто удалите "==" undefined '"
if (!$scope.currentItem.JobOriginalBudget) {
doc.text(50, 190, " ");
}
Ответ 4
Если item является объектом Object, эта функция:
replaceUndefinied(item) {
var str = JSON.stringify(item, function (key, value) {return (value === undefined) ? "" : value});
return JSON.parse(str);
}
Ответ 5
<!-- begin snippet: js hide: false console: true babel: false -->
<p>
<b>Before:</b>
let ab = {
firstName : undefined,
lastName : "undefined"
}
<br/><br/>
<b>After:</b>
View Console
</p>