通过迭代具有不同键值对的单个对象数组来制作 flatList 的最佳方法

the best way to make a flatList by iterating over a single object array with different key-value pairs

通过迭代具有不同键值对的单个对象数组来制作 flatList 的最佳方法是什么

示例:

[
  {
    "boteria_chat_aht": "33:55:31",
    "boteria_chat_queue": 2,
    "boteria_chat_tm1r": "00:00:00",
    "boteria_chat_tmr": "00:00:00",
    "boteria_current_chats": 2,
    "boteria_finished_session_percentage": 71.43,
    "boteria_sessions": 7,
    "fbmessenger_chat_aht": "00:00:00",
    "fbmessenger_chat_queue": 0,
    "fbmessenger_chat_tm1r": "00:00:00",
    "fbmessenger_chat_tmr": "00:00:00",
    "fbmessenger_current_chats": 0,
    "fbmessenger_finished_session_percentage": 0,
    "fbmessenger_sessions": 0,
    "inbound_abandoned": 0,
    "inbound_aht": "00:00:00",
    "inbound_asa": "00:00:00",
    "inbound_handled": 0,
    "inbound_queue": 0,
    "inbound_received": 0,
    "mercadolivreperguntas_chat_aht": "00:00:00",
    "mercadolivreperguntas_chat_queue": 0,
    "mercadolivreperguntas_chat_tm1r": "00:00:00",
    "mercadolivreperguntas_chat_tmr": "00:00:00",
    "mercadolivreperguntas_current_chats": 0,
    "mercadolivreperguntas_finished_session_percentage": 0,
    "mercadolivreperguntas_sessions": 0,
    "mercadolivreposvenda_chat_aht": "00:00:00",
    "mercadolivreposvenda_chat_queue": 0,
    "mercadolivreposvenda_chat_tm1r": "00:00:00",
    "mercadolivreposvenda_chat_tmr": "00:00:00",
    "mercadolivreposvenda_current_chats": 0,
    "mercadolivreposvenda_finished_session_percentage": 0,
    "mercadolivreposvenda_sessions": 0,
    "sla": 0,
    "telegram_chat_aht": "00:00:00",
    "telegram_chat_queue": 0,
    "telegram_chat_tm1r": "00:00:00",
    "telegram_chat_tmr": "00:00:00",
    "telegram_current_chats": 0,
    "telegram_finished_session_percentage": 0,
    "telegram_sessions": 0,
    "whatsapp_chat_aht": "29:27:04",
    "whatsapp_chat_queue": 0,
    "whatsapp_chat_tm1r": "01:02:52",
    "whatsapp_chat_tmr": "01:05:59",
    "whatsapp_current_chats": 0,
    "whatsapp_finished_session_percentage": 100,
    "whatsapp_sessions": 18
  }
]

我设法做到这一点的方法是创建一个新的对象数组来接收这些值并按每种类型分隔

示例:

[
   {
     Whatsapp...
   }

   {
     telegram...
   }
]

如果索引等于 0 我会 return whatsapp 如果不是我会 return 当前索引

但我认为这不是最好的方法。

你能帮帮我吗?

嗯,有很多方法可以遍历数组。您可以使用 map 方法,但由于它会创建一个新数组,因此成本很高。

array.map((element) => { /* your function */ })

或者你可以使用forEach方法呢

array.forEach((element) => { /* your function */ })

如果您询问的是不同的键值,而不仅仅是创建一个新数组并将元素推送到新数组中。

const newarray = [];
array.forEach((element) => { newarray.push(element)})

它将所有具有键名的值和索引为0的值存储到对象数组中的最后一个值 用于填充数组 https://medium.com/@wisecobbler/4-ways-to-populate-an-array-in-javascript-836952aea79f