I am learning JS, and trying to figure out: what is reason of appearing in console of [object Object]?
const arr = [true,1,'message1','message2']
const arr1 = arr.reduce(
(acc, rec) => ({ ...acc, [`field${acc}${arr.indexOf(rec) + 1}`]: rec}),
{}
)
console result:
[object Object] {
field[object Object]1: true,
field[object Object]2: 1,
field[object Object]3: "message1",
field[object Object]4: "message2"
}
Here is the right one:
const arr1 = arr.reduce(
(acc, rec) => {return { ...acc, [`field${arr.indexOf(rec) + 1}`]: rec}},
{}
)
also, you need to know that better way, will be add 3rd argument "index" to replace "arr.indexOf(rec)", so with it code will look:
const arr1 = arr.reduce(
(acc, rec, index) => {return { ...acc, [`field${index + 1}`]: rec}},
{}
)