JSFiddle - React, Tailwind, and code Playground
by kstubs
HTML
<div id="result"></div>
CSS
#result {
font-family:arial
}
JavaScript
function Message(message) {
$('result').insert('<div>' + message + '</div>');
}
var obj = {
"array": [1, 2, 3],
"boolean": true,
"null": null,
"number": 123,
"object": {
"a": "b",
"c": "d",
"e": "f",
"complex_array1": [{
"g": "h"
}, {
"bingo": "bongo"
}, {
"x": {
"complex_array2": [{
"h": "i"
}, {
"j": "k"
}, {
"bingo": "bongo"
}, {
"bango": "jango"
}]
}
}]
},
"string": "Hello World"
};
var list = [{
"h": "i"
}, {
"j": "k"
}];
function walk(path,value) {
var a = path.split('.');
var context = obj;
for (i = 0; i < a.size(); i++) {
context = context[a[i]];
}
context = value;
Message('Expected value for complex_array2');
Message('---------------------');
Message(Object.toJSON(context));
}
Message('Original Value');
Message('---------------------');
Message(Object.toJSON(obj));
Message('=====================');
walk('object.complex_array1.2.x.complex_array2',list);
Message('=====================');
Message('Doesn\'t stick');
Message('---------------------');
Message(Object.toJSON(obj));