Javascript 将值数组映射到对象数组
因此,我遇到了一个问题,需要将名称数组映射到具有name属性的对象 以下代码有问题:Javascript 将值数组映射到对象数组,javascript,arrays,angular,typescript,object,Javascript,Arrays,Angular,Typescript,Object,因此,我遇到了一个问题,需要将名称数组映射到具有name属性的对象 以下代码有问题: this.planNames.map((name,index) => { this.tempdata[index].name = name; }), 下面是一个数组示例 tempdata: any = [ { name: 'Mix and match', title: 'Single-line plans for voice messaging
this.planNames.map((name,index) => {
this.tempdata[index].name = name;
}),
下面是一个数组示例
tempdata: any = [
{
name: 'Mix and match',
title: 'Single-line plans for voice messaging and data.',
desc:
'A great plan option for businesses that want each line on its own plan. These plans have no maximum line caps.',
},
{
name: 'Flexible',
title: 'Multi-line plans for when one size does not fit all.',
desc:
'A great plan option for up to 10 phones with different unlimited data needs',
}
任何使用箭头函数的想法都会很好,因为我自己正在学习更多关于这些函数的知识 映射功能仅用于将数据替换为数组中的其他数据。
如果要更新其他阵列数据,应使用
for
循环:
const tempdata=[
{
名称:“混搭”,
标题:“语音信息和数据的单线计划”,
描述:
“对于希望每条线路都有自己的计划的企业来说,这是一个很好的计划选项。这些计划没有最大线路上限。”,
},
{
名称:'灵活',
标题:“当一种尺寸不适合所有尺寸时的多行计划。”,
描述:
“一个伟大的计划选项,最多可提供10部具有不同无限数据需求的手机”,
}
];
常量planNames=['a','b'];
for(设i=0;i返回一个新数组,其中包含通过回调函数传递的每个原始数组元素的结果。因此,您不需要事先创建临时数组-map函数的结果将包含您需要的内容
const newTempData=this.planNames.map((名称,索引)=>{
返回{…tempdata[i],name}
});
您通常不会在.map
函数中变异数据。如果您有兴趣改变原始数据结构,tempdata
,您应该只使用一个标准
地图功能中应该有一些更改
this.planNames.map((item,index) => {
this.tempdata[index].name = item.name;
});
console.log(this.tempData)
什么是planNames
,您想要的输出是什么?您问题中的tempdata
是所需的输出还是输入?示例代码有效吗?看起来应该这样。但是,您应该使用forEach
而不是map
。输出是临时数据。问题是从名称数组映射到临时数据对象数组。使用计划名称数组更新tempdata.name属性的值。您也应该真正显示输入。现在的问题类似于问“我如何添加数字?示例输出:42”。非常感谢您的回答。感谢您所有的精彩回答。我刚刚熟悉JavaScript中的许多数组函数。
this.planNames.map((item,index) => {
this.tempdata[index].name = item.name;
});
console.log(this.tempData)