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(水果、种子数据))谢谢你帮了我大忙!谢谢你真的帮助了我!