JSFiddle - React, Tailwind, and code Playground

by Sudheer Nunna

JavaScript

const setNestedProp = (obj = {}, [first, ...rest] , value) => ({
  ...obj,
  [first]: rest.length
    ? setNestedProp(obj[first], rest, value)
    : value
});

function getPropertyByString(object, propString) {
let templObject ={}
 var objectsample = {}
  let value = object;
  const props = propString.split('.');
  for (let index = 0; index < props.length; index += 1) {
    if (props[index] === undefined) {
    break;
    }
    value = value[props[index]];
  }
const result2 = setNestedProp({}, props, value);
  return result2;
};

const object = {
  name: 'any_name',
  address: {
    number: 77,
    test: {
      name: 'test'
    }
  },
  userDetails: {
    number: 37,
    details: {
      sudheer: 'test'
    }
  }
}
const userList = ["address.test","userDetails.details.sudheer"];
let tempDetails={};

userList.forEach(partialList=>{
const userList = getPropertyByString(object, partialList);

tempDetails ={...tempDetails,...userList};

}) 
console.log(tempDetails)