首頁  >  文章  >  web前端  >  如何使用點表示法字串存取嵌套 JavaScript 物件屬性?

如何使用點表示法字串存取嵌套 JavaScript 物件屬性?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-21 14:54:13478瀏覽

How Can I Access Nested JavaScript Object Properties Using Dot Notation Strings?

使用點表示法字串存取巢狀物件屬性

使用複雜物件時,存取深度嵌套的屬性可能是個麻煩的過程。標準 JavaScript 語法需要手動導航屬性層次結構,這可能會變得乏味且容易出錯。此問題促使人們尋找替代方法來簡化此任務。

一個受歡迎的解決方案是能夠使用點表示法字串存取巢狀屬性。但是,JavaScript 本身並不支援此功能。這是一個允許此功能的簡單函數:

function getDescendantProp(obj, desc) {
    var arr = desc.split(".");
    while (arr.length && (obj = obj[arr.shift()]));
    return obj;
}

使用此函數,您可以使用字串存取深度巢狀的屬性:

var r = { a: 1, b: { b1: 11, b2: 99 } };
console.log(getDescendantProp(r, "b.b2")); // 99

請注意,也可以使用此方法透過將陣列元素的數字索引指定為點表示法字串的一部分來存取陣列元素:

getDescendantProp({ a: [1, 2, 3] }, 'a.2'); // 3

以上是如何使用點表示法字串存取嵌套 JavaScript 物件屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn