私はjsPdfを使用しています。フィールドを空白のままにすると、「未定義」がPDFに印刷されます。それを空の文字列に置き換えたいのですが。 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);
};
undefined
はプリミティブ値です 。識別子undefined
と比較する代わりに、9文字のstring "undefined
"と比較しています。
単に引用符を削除します。
if ($scope.currentItem.JobOriginalBudget == undefined)
または、typeof
の結果と比較します。これはis文字列です。
if (typeof $scope.currentItem.JobOriginalBudget == "undefined")
この答え に従ってあなたが欲しいものは
doc.text(50, 190, $scope.currentItem.JobOriginalBudget || " ")
「== 'undefined'」を削除するだけです
if (!$scope.currentItem.JobOriginalBudget) {
doc.text(50, 190, " ");
}
var ab = {
firstName : undefined,
lastName : undefined
}
let newJSON = JSON.stringify(ab, function (key, value) {return (value === undefined) ? "" : value});
console.log(JSON.parse(newJSON))
<p>
<b>Before:</b>
let ab = {
firstName : undefined,
lastName : "undefined"
}
<br/><br/>
<b>After:</b>
View Console
</p>
アイテムがオブジェクト使用の場合、この関数は次のようになります。
replaceUndefinied(item) {
var str = JSON.stringify(item, function (key, value) {return (value === undefined) ? "" : value});
return JSON.parse(str);
}