arrays - 如何从 React Native 的 Elastic Search 重建对象?
问题描述
所以我有一个看起来像这样的对象:
{
2000 - 2005: { from: 2000, to: 2005, doc_count: 32 }
2006 - 2010: { from: 2006, to: 2010, doc_count: 77 }
2011 - 2015: { from: 2011, to: 2015, doc_count: 94 }
2016 - 2018: { from: 2016, to: 2018, doc_count: 28 }
}
但我希望它看起来更像
[{ label: "2016-2018", from: 2016, to: 2018, doc_count: 28} ] (etc)
这样我就可以映射并显示所需的值
认为将原始对象重构为数组是我应该走的方向。
问题来自使用 ElasticSearch Keyed 响应。这是文档。看看“键控响应”。当Keyed: true
我得到的响应是一个对象但Keyed
没有被使用时,我得到一个我正在尝试创建的数组(在文档中向上滚动以查看该示例)
那么我应该重建对象还是有更好的方法来解决这个问题?
谢谢!
解决方案
看起来您只需将第一个对象中的键设置为您想要的数组中的标签键。使用 Object.keys 获取键,然后您可以使用 map 将其与原始数据重新组合
const info = Object.keys(yourData).map((label, index) => {...yourData[index], label};
注意:可能尚未标准化
或者
const info = Object.keys(yourData).map((label, index) => {
let datapoint = yourData[index];
yourData.label = label;
return yourData;
})
通过elasticsearch可能有更好的方法来做到这一点,但除非你有很多数据,否则这非常简单快捷
推荐阅读
- mobile - 如何获得 YouTube 视频下载离线查看源代码以在我的 Android 应用程序中使用?
- c++ - 使用文件内容作为硬编码字符串
- java - 无法在 Servlet 中启动 Selenium chrome 驱动程序(Java 动态 Web 项目)
- ios - Swift,将节点添加到 SCNNode 并放置在角落
- xml - 使用 Powershell 加载 XML 时出现问题
- c# - 如何从 WPF 表单上的一个按钮调用两种方法(C#)
- django - Django从html模板中的视图循环列表
- angular - ng2-file-upload 不适用于 Angular 6
- java - 将 android studio 更新到 3.2 后出现错误
- solace - 硬件清单脚本-Solace Appliances