將JavaScript 點表示法字串轉換為物件參考
在JavaScript 中,您可能會遇到需要轉換點表示法字符串的情況,例如“a.b”,轉換為物件內嵌套屬性的參考。這在處理複雜的資料結構或來自外部來源的資料時特別有用。
一個簡單的解決方案是使用eval() 函數:
var obj = { a: { b: '1', c: '2' } }; eval('var val = obj.a.b'); console.log(val); // '1'
但是,使用eval(由於安全問題和潛在的性能問題,通常不鼓勵使用。
更可靠的方法是結合使用split和reduce:
function index(obj, path) { return path.split('.').reduce((o, i) => o[i], obj); } var val = index(obj, 'a.b'); console.log(val); // '1'
此函數有效地在每個點('.')處分割路徑,並使用reduce來迭代存取物件內的巢狀屬性。此技術,您可以安全且有效率地將點符號字串轉換為物件參考。
以上是如何安全地將 JavaScript 點表示法字串轉換為物件參考?的詳細內容。更多資訊請關注PHP中文網其他相關文章!