想要得到这个['Team Instinct', 'Team Valor', 'Team Mystic']
到这个
[{
answer: "Team Instinct",
id: asdfsodijha120-938a //nanoid()
},
{
answer: "Team Valor",
id: 12390i1-293-12093a2 //nanoid()
},
{
answer: "Team Mystic",
id: 123908320i09i09ss8a //nanoid()
}
]到目前为止我尝试过的
const { nanoid } = require("nanoid")
const array = ['Team Instinct', 'Team Valor', 'Team Mystic']
let object = {}
obcject = array.reduce((prevValue,currentValue) => {
prevValue.push({
answer: currentValue,
id: nanoid()
})
},[])我得到TypeError: Cannot read properties of undefined (reading 'push')的错误
发布于 2022-02-03 19:56:18
你忘了还prevValue;
const { nanoid } = require("nanoid")
const array = ['Team Instinct', 'Team Valor', 'Team Mystic']
let object = {}
obcject = array.reduce((prevValue,currentValue) => {
prevValue.push({
answer: currentValue,
id: nanoid()
})
return prevValue
},[])发布于 2022-02-03 20:00:32
答案是正确的,你错过了回报。然而,这里有另一种编写它的方法
const { nanoid } = require("nanoid")
let object = ['Team Instinct', 'Team Valor', 'Team Mystic'].reduce((prevValue, currentValue) => ([...prevValue, {
answer: currentValue,
id: nanoid()
}]), [])
发布于 2022-02-03 19:58:49
当你使用还原剂时,你会在推入减速器后返回它的值。
因此,第一个错误是,您永远不会在回调函数中返回结果。第二个问题是,您试图然后将减(数组)的结果分配给一个对象。
const { nanoid } = require("nanoid");
const array = ['Team Instinct', 'Team Valor', 'Team Mystic'];
const result = array.reduce((prevValue,currentValue) => {
prevValue.push({
answer: currentValue,
id: nanoid()
});
return prevValue;
},[]);https://stackoverflow.com/questions/70977428
复制相似问题