首頁 >web前端 >js教程 >如何使用字串路徑從深度嵌套物件中檢索值?

如何使用字串路徑從深度嵌套物件中檢索值?

Barbara Streisand
Barbara Streisand原創
2024-10-24 23:30:30304瀏覽

How to Retrieve Values from Deeply Nested Objects Using String Paths?

使用字串路徑檢索深度嵌套的物件值

問題:

尋求一個從深度嵌套中檢索值的函數透過遍歷表示巢狀結構的字串路徑來存取物件。例如:

<code class="javascript">var obj = {
  foo: { bar: 'baz' }
};
// Retrieve obj.foo.bar's value with the string "foo.bar"
getValue(obj, "foo.bar");</code>

解決方案:

以下解決方案使用提供的字串路徑有效地導航嵌套物件:

<code class="javascript">function getValue(obj, path) {
  var pathParts = path.split('.');
  for (var i = 0; i < pathParts.length; i++) {
    obj = obj[pathParts[i]];
  }
  return obj;
}</code>

解釋:

  1. 字串路徑被拆分為物件鍵數組(在我們的範例中為["foo", "bar"])。
  2. 我們迭代透過數組,檢索與每個鍵關聯的值。
  3. 最終結果代表提供的路徑處的值。

範例:

<code class="javascript">var obj = {
  foo: { bar: 'baz' }
};
console.log(getValue(obj, "foo.bar")); // Output: "baz"</code>

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

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