Как восстановить объект из упругого поиска React Native? - PullRequest
0 голосов
/ 28 марта 2019

Итак, у меня есть объект, который выглядит следующим образом:

{
  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 Response". Когда Keyed: true, то полученный ответ является объектом, но когда Keyed не используется, я получаю массив, который я пытаюсь создать (прокрутите документацию вверх, чтобы увидеть этот пример)

Так я должен реконструировать объект или есть лучший способ сделать это?

Спасибо!

1 Ответ

0 голосов
/ 28 марта 2019

Похоже, вам просто нужно установить ключ в 1-м объекте в качестве ключа метки в нужном массиве.Используйте Object.keys для получения ключей, затем вы можете использовать карту для рекомбинации его с исходными данными

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;
})

Возможно, есть лучший способ сделать это с помощью эластичного поиска, но если у вас нет больших данных, это очень просто и быстро

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...