相关疑难解决方法(0)

从字符串路径动态更新JavaScript对象

我试图找出是否可以使用字符串作为路径来更新JavaScript对象.

在下面的例子中,我试图找出如何使用store>book>0>price我的路径更新第一本书的价格 .

我知道我可以通过写作来访问它,data['store']['book'][0]['price']但我需要能够动态地执行此操作.我尝试过一些东西,但没有运气.有任何想法吗?

这需要适用于任何深度,而不是固定的深度


数据:

 var data = { 
      "store": {
        "book": [ 
          { "category": "reference",
            "author": "Nigel Rees",
            "title": "Sayings of the Century",
            "price": 8.95
          },
          { "category": "fiction",
            "author": "Evelyn Waugh",
            "title": "Sword of Honour",
            "price": 12.99
          }
        ],
        "bicycle": {
          "color": "red",
          "price": 19.95
        }
      }
    }
var path = "store>book>0>price"
Run Code Online (Sandbox Code Playgroud)

功能:

function updateObject(object, path, data) {
    var pathArray = path.split(">");
    // Some code here
} 
updateObject(data, path, "10.00");
Run Code Online (Sandbox Code Playgroud)

更新

正如费利克斯指出的那样,答案可以在这里找到. JavaScript对象的动态深度设置 …

javascript path object

5
推荐指数
1
解决办法
8306
查看次数

标签 统计

javascript ×1

object ×1

path ×1