javascript - Javascript如何将来自json对象的数据从ES6中的键转换为单个数组
问题描述
我从这样的 API 获得的数据:
{
"lclWarehouseId":11,
"name":"asdasd",
"country":{
"id":1,
"name":"Indonesia"
},
"city":{
"id":1,
"countryId":1,
"name":"Jakarta"
},
"address":"asdasd",
"phone":"+62123123",
"fax":"+62123123",
"monday":{
"isOpen":true,
"start":"0000-01-01T14:43:20+07:00",
"end":"0000-01-01T15:43:23+07:00"
},
"tuesday":{
"isOpen":false,
"start":"0000-01-01T00:00:00Z",
"end":"0000-01-01T00:00:00Z"
},
"wednesday":{
"isOpen":false,
"start":"0000-01-01T00:00:00Z",
"end":"0000-01-01T00:00:00Z"
},
"thursday":{
"isOpen":false,
"start":"0000-01-01T00:00:00Z",
"end":"0000-01-01T00:00:00Z"
},
"friday":{
"isOpen":false,
"start":"0000-01-01T00:00:00Z",
"end":"0000-01-01T00:00:00Z"
},
"saturday":{
"isOpen":false,
"start":"0000-01-01T00:00:00Z",
"end":"0000-01-01T00:00:00Z"
},
"sunday":{
"isOpen":false,
"start":"0000-01-01T00:00:00Z",
"end":"0000-01-01T00:00:00Z"
}
}
我想获取当天(周一至周日)的所有密钥并将它们变成一个数组,如下所示:
[
{
"isOpen":true,
"start":"0000-01-01T14:43:20+07:00",
"end":"0000-01-01T14:43:20+07:00",
},
{
"isOpen":true,
"start":"0000-01-01T14:43:20+07:00",
"end":"0000-01-01T14:43:20+07:00",
},
{
"isOpen":true,
"start":"0000-01-01T14:43:20+07:00",
"end":"0000-01-01T14:43:20+07:00",
},
{
"isOpen":true,
"start":"0000-01-01T14:43:20+07:00",
"end":"0000-01-01T14:43:20+07:00",
},
{
"isOpen":true,
"start":"0000-01-01T14:43:20+07:00",
"end":"0000-01-01T14:43:20+07:00",
},
{
"isOpen":true,
"start":"0000-01-01T14:43:20+07:00",
"end":"0000-01-01T14:43:20+07:00",
},
]
可以在 ES6 中实现吗?谢谢你 :]
解决方案
这对我有用 - 使用一些 ES6 魔法
var data = { // your data
}
// Extract all values from JSON into an array
var arrAsKeys = Object.values(data)
// The values belonging to days will have data.start as a property
var requiredData = arrAsKeys.filter(day => day.hasOwnProperty('start'))
console.log(requiredData)
推荐阅读
- google-colaboratory - Google colab:YOLOv4-tiny-Darknet-Roboflow 的列车中的问题
- oracle - 如何在 Oracle Apex 应用程序的所有页面中显示一个区域?
- kotlin - 如何创建具有原始列表的每隔一个元素的代理列表?
- java - Appium grid org.openqa.selenium.WebDriverException: 转发新会话时出错找不到
- vue.js - 通过 konva 绘制形状以显示在画布中
- python - 列表列表中的常见项目
- javascript - 无法设置自定义 Web 组件的高度
- python - 如何将张量流 EagerTensors 列表转换为 numpy 数组
- javascript - Laravel Echo Listener 无法在前端工作
- here-api - 我可以像使用 APP CODE 一样通过 dns 或 ip 保护 here.com API KEY 吗?