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)