パスとして文字列を使用して、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"
働き:
function updateObject(object, path, data) {
var pathArray = path.split(">");
// Some code here
}
updateObject(data, path, "10.00");
アップデート
フェリックスが指摘したように、答えはここにあります。 JavaScriptオブジェクトの動的な詳細設定
これが私のシナリオの実例です http://jsfiddle.net/blowsie/Sq8j3/9/