国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS中檢查內嵌對象是否存在

dmlllll / 1634人閱讀

摘要:有如下多層嵌套的對象方法或方法方法方法方法如果有更好的方式,歡迎補充

有如下多層嵌套的對象:

var obj = {
  l1: {
    l2: {
      l3: "Hello World"
    }
  }
}

?

方法1:
var r = (((obj || {}).l1 || {}).l2 || {}).l3;

var r = obj.l1 && obj.l1.l2 && obj.l1.l2.l3

?

方法2:
let delve = (obj, key) => (key.split(".").map(p => (obj = obj && obj[p])), obj);
console.log(delve(obj, "l1.l2.l3")); // Hello World

?

方法3:
function checkNested(obj, key, ...rest) {
  if (obj === undefined || obj === null) return false;
  if (rest.length == 0 && obj.hasOwnProperty(key)) return true;
  return checkNested(obj[key], ...rest);
}

console.log(checkNested(obj, "l1", "l2", "l3")); // true

?

方法4:
function validChain(obj, ...keys) {
  return keys.reduce((obj, key) => (obj || {})[key], obj) !== undefined
}
console.log(validChain(obj, "l1", "l2", "l3")); // true

?

方法5:
function objHasKeys(obj, keys) {
  var next = keys.shift();
  return obj[next] && (! keys.length || objHasKeys(obj[next], keys));
}

如果有更好的方式,歡迎補充

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/110247.html

相關文章

  • 封裝

    摘要:上一篇文章距離有出不多一個多月了現在好不容易有了好心情繼續看書寫點感悟第三章講述的是封裝像可以通過關鍵字來聲明一個方法使得只有該對象內部的代碼才能執行它在中沒有這樣的關鍵字但是可以使用閉包來創建只允許從對象內部訪問的方法和屬性相比于閉包走了 上一篇文章距離有出不多一個多月了,現在好不容易有了好心情,繼續看書,寫點感悟. 第三章講述的是js封裝,像java,可以通過private關鍵字來...

    Ethan815 評論0 收藏0
  • H5 緩存機制淺析 - 移動端 Web 加載性能優化

    摘要:根據標準,到目前為止,一共有種緩存機制,有些是之前已有,有些是才新加入的。首次請求緩存有效期內請求緩存過期后請求一般瀏覽器會將緩存記錄及緩存文件存在本地文件夾中。 騰訊 Bugly 特約作者:賀輝超 1. H5 緩存機制介紹 H5,即 HTML5,是新一代的 HTML 標準,加入很多新的特性。離線存儲(也可稱為緩存機制)是其中一個非常重要的特性。H5 引入的離線存儲,這意味著 web ...

    alin 評論0 收藏0
  • 參數默認值引起的第三作用域

    摘要:如果形參有設置默認值,第二個就被建立,他針對的是函數體內的聲明我們可以形象的理解為這是一個除了函數作用域和塊級作用域之外的第三作用域。 開門見山,我們來看看下面這個有趣的例子 showImg(http://ogitl0zvo.bkt.clouddn.com/public/16-11-12/77445738.jpg); ?對于上面這種用var的聲明方式,無論x的默認值為什么,只要形參中出...

    Fourierr 評論0 收藏0
  • JavaScript性能優化之加載與執行

    摘要:在瀏覽區中的性能,可以認為是開發者所面臨的最嚴重的可用性問題。優化這個問題的第一步從它的加載和執行開始。這意味著在對象的事件觸發后再下載腳本。屬性指明本元素所含的腳本不會修改,因此代碼能夠安全地執行,但是瀏覽器的支持情況不理想。 JavaScript在瀏覽區中的性能,可以認為是開發者所面臨的最嚴重的可用性問題。 優化這個問題的第一步從它的加載和執行開始。 霸道的script標簽scr...

    call_me_R 評論0 收藏0

發表評論

0條評論

dmlllll

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<