从多个对象中解构相同的变量
Destructure same variables from multiple objects
我有 3 个对象
var first = {name:'ab', age:'12',year:'2010',color:'red'};
var second = {name:'ax', age:'14',year:'2011',mood:'sour'};
var third = {name:'ay', age:'15',year:'2012',dessert:'cake'};
我需要访问 first、second 和 third 中的项目,我目前通过解构来完成这些项目。
let {name, age, year, color} = a;
//perform some action here
let {name, age, year, mood} = b;
//perform some action here
let {name, age, year, dessert} = c;
//perform some action here.
注意:例如。我只展示了每个对象中的几个项目,在现实世界中,我有大约 20 多个项目,其中 15 个在所有项目中重复。
因为我每次都重复姓名、年龄和年份,有没有一种方法可以优化我可以在别处声明这 3 个变量的代码,并在解构时仅提及它。
例如:
let commonVars = {name, age, year}
let {...commonvars, color} = a;
let {...commonvars, mood} = b;
let {...commonvars, dessert} = c;
因为我好像一直在一遍又一遍地重复这个。
您可以添加 updateCommonVars
函数并使 commonVars
object
包含所有常用值。使用它作为 updateCommonVars(first);
将 values
复制到 commonVars
对象。并使用 commonVars.name
等
let updateCommonVars = (obj) => {
for (prop in commonVars)
commonVars[prop] = obj[prop];
}
var first = {name:'ab', age:'12',year:'2010',color:'red'};
var second = {name:'ax', age:'14',year:'2011',mood:'sour'};
var third = {name:'ay', age:'15',year:'2012',dessert:'cake'};
let commonVars = {name:null, age:null, year:null};
updateCommonVars(first);
let { color } = first;
console.log(commonVars.name);
updateCommonVars(second);
let { mood } = second;
console.log(commonVars.name);
我有 3 个对象
var first = {name:'ab', age:'12',year:'2010',color:'red'};
var second = {name:'ax', age:'14',year:'2011',mood:'sour'};
var third = {name:'ay', age:'15',year:'2012',dessert:'cake'};
我需要访问 first、second 和 third 中的项目,我目前通过解构来完成这些项目。
let {name, age, year, color} = a;
//perform some action here
let {name, age, year, mood} = b;
//perform some action here
let {name, age, year, dessert} = c;
//perform some action here.
注意:例如。我只展示了每个对象中的几个项目,在现实世界中,我有大约 20 多个项目,其中 15 个在所有项目中重复。
因为我每次都重复姓名、年龄和年份,有没有一种方法可以优化我可以在别处声明这 3 个变量的代码,并在解构时仅提及它。
例如:
let commonVars = {name, age, year}
let {...commonvars, color} = a;
let {...commonvars, mood} = b;
let {...commonvars, dessert} = c;
因为我好像一直在一遍又一遍地重复这个。
您可以添加 updateCommonVars
函数并使 commonVars
object
包含所有常用值。使用它作为 updateCommonVars(first);
将 values
复制到 commonVars
对象。并使用 commonVars.name
等
let updateCommonVars = (obj) => {
for (prop in commonVars)
commonVars[prop] = obj[prop];
}
var first = {name:'ab', age:'12',year:'2010',color:'red'};
var second = {name:'ax', age:'14',year:'2011',mood:'sour'};
var third = {name:'ay', age:'15',year:'2012',dessert:'cake'};
let commonVars = {name:null, age:null, year:null};
updateCommonVars(first);
let { color } = first;
console.log(commonVars.name);
updateCommonVars(second);
let { mood } = second;
console.log(commonVars.name);