从 javascript 中的数组构建原始数据

Constructing raw data out of array in javascript

我需要构建 API 正文以供在 javascript fetch 中使用。数组的长度是二十左右,我需要一个循环。

我有一个对象数组:

[
    {
        name:"x",lname:"y"
    },
    {
        name:"x2",lname:"y2"
    },
]

这就是我想要实现的目标:

{
    "0":{
        "name":"x",
        "lname":"y"
    },
    "1":{
        "name":"x2",
        "lname":"y2"
    },
}

这是邮递员正文中的原始内容:

如有任何指导和帮助,我们将不胜感激。

使用 Array.reduce 并使用 index 参数作为属性的键可以轻松将数组转换为对象:

const data = [
    {name:"x",lname:"y"},
    {name:"x2",lname:"y2"},
]

console.log( 
  data.reduce((acc, item, i) => ({...acc, [i]:item}) ,{})
)

或更短,如 @CherryDT 所建议(在下面的评论中),它会自动将数组转换为由从数组项的索引派生的键组成的对象:

const data = [
    {name:"x",lname:"y"},
    {name:"x2",lname:"y2"},
]

console.log({...data})

提示:如果您希望键索引从 1 而不是 0 开始,请执行:

console.log({...[,...data]})