JSFiddle - React, Tailwind, and code Playground
by Sudheer Nunna
JavaScript
function getProperty(json, path) {
var tokens = path.split(".");
var obj = json;
for (var i = 0; i < tokens.length; i++) {
obj = obj[tokens[i]];
}
return obj;
}
var data = {
id: 1,
name: "abc",
address: {
streetName: {door:{floor:"first floor",floor1:"first floor1"},door1:{floor:"first floor",floor1:"first floor1"}},
streetId: 2
}
};
var fields = ["address.streetName.te"];
const setNestedProp = (obj = {}, [first, ...rest] , value) => ({
...obj,
[first]: rest.length
? setNestedProp(obj[first], rest, value)
: value
});
let tempData ={}
for (var i = 0; i < fields.length; i++) {
var value = getProperty(data, fields[i]);
const finalData = setNestedProp({},fields[i].split("."),value);
tempData = {...tempData,...finalData}
}
console.log(tempData);