programing

정의되지 않은 문자열을 빈 문자열로 바꾸는 방법

muds 2023. 10. 18. 23:07
반응형

정의되지 않은 문자열을 빈 문자열로 바꾸는 방법

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

이 대답에 의하면 당신이 원하는 것은

doc.text(50, 190, $scope.currentItem.JobOriginalBudget || " ")

undefined 원시 값입니다.식별자와 비교하는 대신undefined, 당신은 9자 문자열과 비교하고 있습니다."undefined".

따옴표를 제거하기만 하면 됩니다.

if ($scope.currentItem.JobOriginalBudget == undefined)

또는 비교해 보십시오.typeof문자열인 result:

if (typeof $scope.currentItem.JobOriginalBudget == "undefined")

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>

"== '정의되지 않음'"을 제거하기만 하면 됩니다.

if (!$scope.currentItem.JobOriginalBudget) {
    doc.text(50, 190, " ");
}

항목이 Object 용도인 경우 다음 기능을 수행합니다.

replaceUndefinied(item) {
   var str =  JSON.stringify(item, function (key, value) {return (value === undefined) ? "" : value});
   return JSON.parse(str);
}

나같은 경우에는

doc.text(50, 190, $scope.currentItem.JobOriginalBudget??"")

언급URL : https://stackoverflow.com/questions/25876247/how-to-replace-undefined-with-a-empty-string

반응형