Javascript 使用数组向对象添加属性

Javascript 使用数组向对象添加属性,javascript,arrays,mapping,Javascript,Arrays,Mapping,如何使用数组中对象的键向ES6中的子对象添加多个属性 我有这个: 常数数据=[{ id:“abc测试”, }, { id:'xyz测试', }, ]; 常数t={ a:{ 过滤器:{ 音调:[], } } }; 我将使用reduce和spread操作符的组合 常数数据=[{ id:“abc测试”, }, { id:'xyz测试', }, ]; 常数t={ a:{ 过滤器:{ 音调:[], } } }; const newKeys=data.reduceac,el=>{ acc[el.id]=

如何使用数组中对象的键向ES6中的子对象添加多个属性

我有这个:

常数数据=[{ id:“abc测试”, }, { id:'xyz测试', }, ]; 常数t={ a:{ 过滤器:{ 音调:[], } }
}; 我将使用reduce和spread操作符的组合

常数数据=[{ id:“abc测试”, }, { id:'xyz测试', }, ]; 常数t={ a:{ 过滤器:{ 音调:[], } } }; const newKeys=data.reduceac,el=>{ acc[el.id]=[]; 返回acc; }, {}; t、 a.过滤器={ …t.a.过滤器, …新钥匙 };
console.logt 我将使用reduce和spread操作符的组合

常数数据=[{ id:“abc测试”, }, { id:'xyz测试', }, ]; 常数t={ a:{ 过滤器:{ 音调:[], } } }; const newKeys=data.reduceac,el=>{ acc[el.id]=[]; 返回acc; }, {}; t、 a.过滤器={ …t.a.过滤器, …新钥匙 }; console.logt forEach是一个数组函数或您喜欢的名称:Array.prototype函数。在所有其他数组函数中,forEach最适合您的需要。其他的有其他的用途

因此,只需使用forEach循环数组中的对象,并将属性直接分配给t.a.filters:

例如:

const data=[{id:'abc test'},{id:'xyz test'}]; 常量t={a:{filters:{tOne:[]}}; data.forEacho=>t.a.filters[o.id]=[]; console.logt forEach是一个数组函数或您喜欢的名称:Array.prototype函数。在所有其他数组函数中,forEach最适合您的需要。其他的有其他的用途

因此,只需使用forEach循环数组中的对象,并将属性直接分配给t.a.filters:

例如:

const data=[{id:'abc test'},{id:'xyz test'}]; 常量t={a:{filters:{tOne:[]}}; data.forEacho=>t.a.filters[o.id]=[];
console.logt;可能没有比这更好的了@尼克,我认为你的回答是正确的。你可以考虑删除你的答案。当然,我没有删除它,但我不是一个做事效率低的爱好者,我的解决方案与之相比。yours@Nick嗯,你的意思是,像洛尔这样的人,再也没有比这更好的了@尼克,我认为你的回答是正确的。你可以考虑删除你的答案。当然,我没有删除它,但我不是一个做事效率低的爱好者,我的解决方案与之相比。yours@Nick嗯,你是说像Lol,你是什么意思?我知道这可以通过使用.forEach来实现,但如果可能的话,我想使用ES6 Array.prototype函数。?forEach是一个数组。原型函数和其他函数一样。对不起,我在描述中忘记了另一个词。请参阅更新的说明。forEach确实是这里的最佳选择。其他功能有其他用途。我的意思是你可以使用reduce-like-data.reduceacc,o=>acc[o.id]=[],acc,t.a.过滤器或使用map作为forEach,但这就像用鞋在面包上涂黄油一样,你可以做到,但当你有刀/forEach的时候为什么要这样做?!!我知道这可以通过使用.forEach实现,但如果可能的话,我想使用ES6 Array.prototype函数,这是什么意思。?forEach是一个数组。原型函数和其他函数一样。对不起,我在描述中忘记了另一个词。请参阅更新的说明。forEach确实是这里的最佳选择。其他功能有其他用途。我的意思是你可以使用reduce-like-data.reduceacc,o=>acc[o.id]=[],acc,t.a.过滤器或使用map作为forEach,但这就像用鞋在面包上涂黄油一样,你可以做到,但当你有刀/forEach的时候为什么要这样做?!!
data.forEach(o => t.a.filters[o.id] = []);