Javascript 从对象填充模型值。
我试图创建一个函数,它接收一个数组和一个对象,并返回这两个对象的组合Javascript 从对象填充模型值。,javascript,arrays,json,reactjs,loops,Javascript,Arrays,Json,Reactjs,Loops,我试图创建一个函数,它接收一个数组和一个对象,并返回这两个对象的组合 fruits: [ { name: apple, seeds: '' }, { name: grape, seeds: '' }, { name: banana, seeds: '' }, ] const seedData = { apple: 'yes', banana: 'yes', grape: 'no', } setSeedData = (
fruits: [
{
name: apple,
seeds: ''
},
{
name: grape,
seeds: ''
},
{ name: banana,
seeds: ''
},
]
const seedData = {
apple: 'yes',
banana: 'yes',
grape: 'no',
}
setSeedData = (fruits, seedData) => {
return completedFruits
}
想要的结果是这样的:
fruits: [
{
name: apple,
seeds: 'yes'
},
{
name: grape,
seeds: 'yes'
},
{
name: banana,
seeds: 'no'
},
]
我的问题是:如何创建函数setSeedData?返回的反数组应替换当前的数组 您可以使用.forEach()
迭代数组并添加属性:
常数=[
{名称:'苹果',种子:'},
{名称:'葡萄',种子:'},
{名称:'香蕉',种子:'}
];
常数种子数据={
苹果:“是的”,
香蕉:“是的”,
葡萄:“不”
};
const setSeedData=(arr,obj)=>(arr.forEach((o)=>(o.seeds=obj[o.name]),arr);
console.log(setSeedData(水果、种子数据))代码>
.as控制台包装{max height:100%!important;top:0;}
您可以使用.forEach()
在数组上迭代并添加属性:
常数=[
{名称:'苹果',种子:'},
{名称:'葡萄',种子:'},
{名称:'香蕉',种子:'}
];
常数种子数据={
苹果:“是的”,
香蕉:“是的”,
葡萄:“不”
};
const setSeedData=(arr,obj)=>(arr.forEach((o)=>(o.seeds=obj[o.name]),arr);
console.log(setSeedData(水果、种子数据))代码>
.as console wrapper{max height:100%!important;top:0;}
您可以映射水果
,并通过查找种子数据
对象的名称
键值来更新种子
键
常数=[
{
名称:'苹果',
种子:“”
},
{
名字:'葡萄',
种子:“”
},
{名称:'香蕉',
种子:“”
},
];
常数种子数据={
苹果:“是的”,
香蕉:“是的”,
葡萄:“不”,
}
setSeedData=(水果、种子数据)=>{
返回水果。映射(水果=>{
return{…水果,种子:seedData[fruit.name]}
})
}
console.log(setSeedData(fruits,seedData))
您可以映射水果
,并通过使用水果
的名称
键值查找种子
对象来更新种子
键
常数=[
{
名称:'苹果',
种子:“”
},
{
名字:'葡萄',
种子:“”
},
{名称:'香蕉',
种子:“”
},
];
常数种子数据={
苹果:“是的”,
香蕉:“是的”,
葡萄:“不”,
}
setSeedData=(水果、种子数据)=>{
返回水果。映射(水果=>{
return{…水果,种子:seedData[fruit.name]}
})
}
log(setSeedData(fruits,seedData))
您基本上可以映射数组并返回更新的数据
常数=[
{
名称:'苹果',
种子:“”
},
{
名字:'葡萄',
种子:“”
},
{名称:'香蕉',
种子:“”
},
]
常数种子数据={
苹果:“是的”,
香蕉:“是的”,
葡萄:“不”,
}
setSeedData=(水果、种子数据)=>{
return fruits.map(水果=>({…水果,种子:seedData[fruit.name]}));
}
console.log(setSeedData(水果、种子数据))代码>您基本上可以映射数组并返回更新的数据
常数=[
{
名称:'苹果',
种子:“”
},
{
名字:'葡萄',
种子:“”
},
{名称:'香蕉',
种子:“”
},
]
常数种子数据={
苹果:“是的”,
香蕉:“是的”,
葡萄:“不”,
}
setSeedData=(水果、种子数据)=>{
return fruits.map(水果=>({…水果,种子:seedData[fruit.name]}));
}
console.log(setSeedData(水果、种子数据))代码>谢谢你帮了我大忙!谢谢你真的帮助了我!