Javascript 正在取消JS中对象数组的测试
嵌套数组Javascript 正在取消JS中对象数组的测试,javascript,arrays,unnest,Javascript,Arrays,Unnest,嵌套数组 [ { "id": 16, "created_at": "2020-07-01T14:09:14.066Z", "file": { "name": "Annotation 2020-04-08 135240.jpg" }
[
{
"id": 16,
"created_at": "2020-07-01T14:09:14.066Z",
"file": {
"name": "Annotation 2020-04-08 135240.jpg"
}
},
{
"id": 15,
"created_at": "2020-07-01T14:08:31.558Z",
"file": {
"name": "Annotation 2020-04-08 135240.jpg"
}
},
{
"id": 14,
"created_at": "2020-07-01T14:07:32.869Z",
"file": {
"name": "Annotation 2020-04-08 135240.jpg"
}
}]
我想要达到的目标
[
{
"id": 16,
"created_at": "2020-07-01T14:09:14.066Z",
"name": "Annotation 2020-04-08 135240.jpg"
},
{
"id": 15,
"created_at": "2020-07-01T14:08:31.558Z",
"name": "Annotation 2020-04-08 135240.jpg"
},
{
"id": 14,
"created_at": "2020-07-01T14:07:32.869Z",
"name": "Annotation 2020-04-08 135240.jpg"
}]
您可以轻松地将
file.name
属性映射到它的父属性,然后在完成后删除d.file
基本示例:
const数据=[{
“id”:16,
“创建时间”:“2020-07-01T14:09:14.066Z”,
“文件”:{
“名称”:“注释2020-04-08 135240.jpg”
}
},
{
“id”:15,
“创建时间”:“2020-07-01T14:08:31.558Z”,
“文件”:{
“名称”:“注释2020-04-08 135240.jpg”
}
},
{
“id”:14,
“创建时间”:“2020-07-01T14:07:32.869Z”,
“文件”:{
“名称”:“注释2020-04-08 135240.jpg”
}
}
];
//[选项1]映射并返回新对象
const targetData=data.map(d=>({id:d.id,created_at:d.created_at,name:d.file.name}));
//[选项2]创建新属性并删除旧属性
const targetData2=data.map(d=>{
d、 name=d.file.name;
删除文件;
返回d;
});
console.log(targetData);
console.log(targetData2)代码>这里您可以使用map
功能
这将创建新阵列。可以为关键点指定值
这不会删除原始阵列
const arr=[{
“id”:16,
“创建时间”:“2020-07-01T14:09:14.066Z”,
“文件”:{
“名称”:“注释2020-04-08 135240.jpg”
}
},
{
“id”:15,
“创建时间”:“2020-07-01T14:08:31.558Z”,
“文件”:{
“名称”:“注释2020-04-08 135240.jpg”
}
},
{
“id”:14,
“创建时间”:“2020-07-01T14:07:32.869Z”,
“文件”:{
“名称”:“注释2020-04-08 135240.jpg”
}
}
]
var newArr=arr.map(函数(elem){
返回{
id:elem.id,
创建时间:elem.created\u at,
名称:elem.file.name
}
});
控制台日志(newArr)
输出{file:name}
属性,并用于将其余属性放入对象o
使用运算符将对象o
与属性名name
合并。使用
复制所有对象。不修改数据中的原始对象
数据=[{
“id”:16,
“创建时间”:“2020-07-01T14:09:14.066Z”,
“文件”:{
“名称”:“注释2020-04-08 135240.jpg”
}
},
{
“id”:15,
“创建时间”:“2020-07-01T14:08:31.558Z”,
“文件”:{
“名称”:“注释2020-04-08 135240.jpg”
}
},
{
“id”:14,
“创建时间”:“2020-07-01T14:07:32.869Z”,
“文件”:{
“名称”:“注释2020-04-08 135240.jpg”
}
}
];
data=data.map({file:{name},{o})=>({……o,name}))
控制台日志(数据)
data=data.map({file:{name},{o})=>({……o,name}))
这能回答您的问题吗?最好使用解构并获取所需的属性,而不是删除它们