我想从此数组中获取项目(在客户端保存项目的方式)
[
{
"id": "-Mdawqllf_-BaW63gMMM",
"text": "Finish the backend[1]",
"status": true,
"time": 1625248047800
},
{
"id": "-Mdawqllf_-BaW63gGHf",
"text": "Finish the middle-end[2]",
"status": false,
"time": 1625248040000
},
{
"id": "-Mdawqllf_-BaW63gGHd",
"text": "Finish the front-end[3]",
"status": false,
"time": 1625248040000
}
]
并将它们转换成这种格式,以便在服务器端保存
{ "todos": {
"-Mdawqllf_-BaW63gMMM": {
"text": "Finish the backend[1]",
"status": true,
"time": 1625248047800,
},
"-Mdawqllf_-BaW63gGHf": {
"text": "Finish the middle-end[2]",
"status": false,
"time": 1625248040000,
},
"-Mdawqllf_-BaW63gGHd": {
"text": "Finish the front-end[3]",
"status": false,
"time": 1625248040000,
}
},
}
基本上,我在客户机上将项目转换为一个数组,以帮助排序和使用数组。但在发回之前,我们需要把它转换成正确的格式
4条答案
按热度按时间hzbexzde1#
使用
.map()
在对象数组上循环以退出id
属性,因此可以将其用作新对象的键。使用
Object.fromEntries()
从返回的数组创建新对象的步骤.map()
.bnl4lu3b2#
如果只有一个对象在
data
数组,您只需将它们移动到todos
json通过变量赋值,如下所示记住在双引号中添加键,使其成为json。
qjp7pelc3#
@巴尔马的解决方案很好。
为了学习或其他人的谷歌搜索。还可以将数组缩减为对象。
bhmjp9jg4#
假设数据是对象数组。使用spread操作符将所有数组对象从数据数组复制到todos键处的todos对象。
需要注意的一点是,在没有数组的情况下,不能将多个对象分配给单个对象键。您必须使用数组来维护一个键下的所有对象。
避免使用硬代码索引。始终使用扩展运算符