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

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

在 python 中查找字典到 javascript

在 python 中查找字典到 javascript

Qyouu 2021-07-06 18:01:34
下面兩個表達式等價嗎?# pythonPLAN_TO_COST_PER_UNIT.get(planType, value_if_empty)# javascriptPLAN_TO_COST_PER_UNIT[planType] || value_if_empty;如果不是,那么在 javasript 中與執行上述 python dict 查找最接近的等價物是什么?
查看完整描述

2 回答

?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

沒有。


蟒蛇。在 Python 中,如果你寫:


PLAN_TO_COST_PER_UNIT.get(planType, value_if_empty)

這意味著如果planType鍵存在,則返回該值,無論該值是什么。如果找不到,value_if_empty則退回。


例如:


>>> a = {'key': 0}

>>> a.get('key', 1425)

0

JavaScript。您的 JavaScript 版本不會這樣做:它獲取鍵的值,如果不存在這樣的鍵,undefined則返回。然后你使用||這樣的,如果結果的“真實性”是false,它需要正確的操作數 ( value_if_empty)。


但是,如果您要構造一個值為 的對象0,那么它仍然會采用value_if_empty,例如:


> a = {key: 0}

{ key: 0 }

> a['key'] || 1425

1425

我認為最接近 Python 版本的是進行成員資格檢查:


function tryget(obj, key, missing) {

    if(key in obj) {

        return obj[key];

    }

    else {

        return missing;

    }

}

然后我們可以用 來調用它tryget({a: 0}, 'a', 1425)。


查看完整回答
反對 回復 2021-07-13
?
繁星coding

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

你必須自己做一些檢查


一種方法是定義一個get函數并使用它


例如


function get(object, key, default_value) {

    var result = object[key];

    return (typeof result !== "undefined") ? result : default_value;

}


查看完整回答
反對 回復 2021-07-13
  • 2 回答
  • 0 關注
  • 187 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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