亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JavaScript如何連接兩個null或undefined并返回null

JavaScript如何連接兩個null或undefined并返回null

慕森王 2021-05-12 13:13:20
假設值firsName和lastName來自某些數據源。該值有時可能為null或都未定義。fullName將兩者結合在一起。let a = {};let b = {    fullName: a && a.firstName+' '+a.lastName};console.log("fullName is "+JSON.stringify(b.fullName)); // fullName is "undefined undefined"a = {    firstName: null,    lastName: null};b = {    fullName: a.firstName+' '+a.lastName};console.log("fullName is "+JSON.stringify(b.fullName)); // fullName is "null null"b = {    fullName: {...a.firstName, ...' ', ...a.lastName}};console.log("fullName is "+JSON.stringify(b.fullName)); // fullName is {"0":" "}b = {    fullName: {...a.firstName, ...a.lastName}};console.log("fullName is "+JSON.stringify(b.fullName)); // fullName is {}我當前的解決方案是const getFullName = (firstName, lastName ) => {    if ((typeof firstName == "undefined" || firstName === null) && (typeof lastName == "undefined" || lastName === null)) {            return null;    }    else {         return firstName+' '+lastName    }}b = {    fullName: getFullName(a.firstName, a.lastName)};console.log("fullName with function is "+JSON.stringify(b.fullName)); // fullName with function is nulla = {};console.log("fullName with function is "+JSON.stringify(b.fullName)); // fullName with function is null有沒有更好的方法來使b.fullName的值為null(無需編寫函數)?
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

以下是更好的解決方案:

return [firstName, lastName].filter(it => !!it).join(" ") || null

請注意,這還將在空/未定義中包含“”,并且如果您提供一個而不提供另一個,則避免在字符串中包含“ null”。通常,這對于您正在編寫的功能可能是理想的。

例如:getFullName("John", null)將返回“約翰”


查看完整回答
反對 回復 2021-05-27
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

這是少數使用松散相等運算符(因為null和undefined彼此松散相等,但對別的枚舉相等)有益的情況之一。然后,您可以將條件簡化為:


const getFullName = (firstName, lastName ) => {

    if (firstName == null && lastName == null) {

        return null;

    } else { 

        return firstName + ' ' + lastName

    }

}



查看完整回答
反對 回復 2021-05-27
  • 3 回答
  • 0 關注
  • 174 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號