如何解决使用reduce不是可迭代对象Javascript对对象进行迭代时出错
我想在数组 presentsData 中的每个对象中添加一个名为 money 的新字段,并使用由每个人的分数确定的值。我在其他情况下是这样做的,并且有效,但现在出现此错误: TypeError: object is not iterable (cannot read property Symbol(Symbol.iterator))error:
let presentsData= [
{
name: "Peter",presents: ["coffee","holidays"]
},{
name: "Mario",presents: ["car","coal"]
},{
name: "Amanda",presents: ["computer",{
name: "David",presents: ["clothes","car"]
}
]
const scoresData= [
{
name: "Peter",score: 10
},score: 6.3
},score: 1.1
},score: 8
}
]
let childscore = scoresData.find(s => s.name == "Peter").score
const result = presentsData.reduce((acc,ele) => {
console.log(ele)
if (ele.name == "Peter") {
if (childscore > 8) {
return [...ele,money= 7000]
} else if (childscore < 8 && childscore > 5) {
return [...ele,money = 2000]
} else if (childscore < 5) {
return [...ele,money = 300]
}
}
return acc;
},0)
console.log(result)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。