javascript - 如何在转换返回对象的一部分时在 Javascript 中执行数组映射?
问题描述
我有一个 React 组件,它正在执行 JSON 的获取操作并返回具有这种对象格式的数组:
{
device_id: "5c07f86f-3763-477f-81a7-558395a9252e"
device_type: "MX480"
domain: "JUNIPER"
domain_id: "5c07f843-7e67-4ce1-bf91-d0d7b04f35f6"
resources: null
sync_status: "idle"
sync_time: "2018-12-10T19:18:20+00:00"
}
我需要做的是将sync_time
每个返回的对象中的转换为日期/时间格式,我已使用以下方法成功转换了该格式:
const finalSyncDates = names.map(item => new Date(item.sync_time))
.map(n => n.toLocaleString());
但我仍然需要对象的其余部分。最终我想输出:
{
device_id: "5c07f86f-3763-477f-81a7-558395a9252e"
device_type: "MX480"
domain: "JUNIPER"
domain_id: "5c07f843-7e67-4ce1-bf91-d0d7b04f35f6"
resources: null
sync_status: "idle"
sync_time: "CONVERTED SYNC TIME HERE"
}
只是不确定语法。任何帮助,将不胜感激。
解决方案
你可以试试这个伙伴
在map()
函数中,您可以更改对象(当前元素)的所需属性,而不是简单地返回元素。
let obj = [{
device_id: "5c07f86f-3763-477f-81a7-558395a9252e",
device_type: "MX480",
domain: "JUNIPER",
domain_id: "5c07f843-7e67-4ce1-bf91-d0d7b04f35f6",
resources: null,
sync_status: "idle",
sync_time: "2018-12-10T19:18:20+00:00",
},
{
device_id: "5c07f86f-3763-477f-81a7-558395a9252e",
device_type: "MX480",
domain: "JUNIPER",
domain_id: "5c07f843-7e67-4ce1-bf91-d0d7b04f35f6",
resources: null,
sync_status: "idle",
sync_time: "2018-12-10T19:18:20+00:00",
}]
let op = obj.map(e=>{
e.sync_time = new Date(e.sync_time).toLocaleString();
return e;
})
console.log(obj);
推荐阅读
- java - File.createNewFIle() 的 java.nio.file 等价物是什么
- vba - Excel 合并文档宏
- objective-c - 在运行时读取 plist 文件
- fonts - 如何使用 Freetype、Harfbuzz 和 Fontconfig 执行字形替换
- jmeter - Jmeter maven 插件:在 Maven 中指定线程数、循环、加速时间
- javascript - 如何设置 Tinymce Value 内容
- c++ - 发送错误:错误地址
- azure - 用于具有 azure 身份验证的私有 Web 服务器的 SSL 证书
- c# - 如何在内存流中获取word文件,将其存储在缓冲区中并以PDF格式返回?
- python - Python - 如何使用列提取转换器将 n-gram CountVectorizer 转换为管道