使用點表示法字串存取巢狀物件屬性
使用複雜物件時,存取深度嵌套的屬性可能是個麻煩的過程。標準 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中文網其他相關文章!