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);