how can i do something like the following
const BigObject = {
"id":"value",
"img":"value",
"name":"value",
"otherData":"value",
"otherData":"value",
"otherData":"value",
"otherData":"value",
}
var User = {id,img,name} = BigObject
where User will be an object like
{
"id":"value",
"img":"value",
"name":"value",
}
CodePudding user response:
From my above comment ...
"An approach like ...
const user = (({ id, img, name }) => ({ id, img, name }))(BigObject);
... which is based on an immediately invoked arrow function prevents additional local references which are not needed anymore after the creation ofuser
."
Implementing the solution with an arrow function might also come closest to the OP'S original intention ...
const bigObject = {
id: 'value',
img: 'value',
name: 'value',
otherData: 'value',
};
// OP ...how can i do something like the following?..
//
// const user = { id, img, name } = bigObject
// prevent additional module or global
// scope of e.g. `id`, `img`, `name`.
const user = (({ id, img, name }) => ({ id, img, name }))(bigObject);
console.log({ user });
CodePudding user response:
You can try it:
const {id, img, name} = BigObject;
const User = {id, img, name};
CodePudding user response:
You could do it like below:
const BigObject = {
"id":"value",
"img":"value",
"name":"value",
"otherData":"value",
"otherData":"value",
"otherData":"value",
"otherData":"value"
}
let {id, img, name, ...rest} = BigObject;
let User = {id,img,name};
console.log(User)
CodePudding user response:
you can do something like this
const BigObject = {
"id":"value",
"img":"value",
"name":"value",
"otherData":"value",
"otherData":"value",
"otherData":"value",
"otherData":"value",
}
let {id,img,name} = BigObject
const User = {id,img,name}
console.log(User)