首頁 > web前端 > js教程 > 主體

如何使用字串路徑存取深度嵌套的物件值?

Patricia Arquette
發布: 2024-10-24 19:24:02
原創
408 人瀏覽過

How can I Access Deeply Nested Object Values Using a String Path?

透過字串路徑取得深度嵌套的物件值

存取深度嵌套的物件屬性可能很麻煩,尤其是在使用字串路徑遍歷物件時。此問題尋求根據提供的字串路徑從物件中檢索值的解決方案。

建議的解決方案

建議的方法採用以下函數deep_value,它迭代地導航在路徑字串:

<code class="javascript">var deep_value = function(obj, path) {
  for (var i = 0, path = path.split('.'), len = path.length; i < len; i++) {
    obj = obj[path[i]];
  }
  return obj;
};</code>
登入後複製

分解

  • split('.') 操作將字串路徑轉換為屬性名稱陣列。
  • 循環是用於遍歷對象,按順序​​存取每個屬性。
  • 最後一次迭代傳回最終的巢狀值。

範例

考慮以下物件:

var obj = {
  foo: { bar: 'baz' }
};
登入後複製

要使用字串路徑「foo.bar」存取obj.foo.bar 的值,可以呼叫deep_value 函數,如下圖所示:

deep_value(obj, "foo.bar"); // returns "baz"
登入後複製

以上是如何使用字串路徑存取深度嵌套的物件值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!