簡體   English   中英

使用新鍵創建新數組並從單個數組嵌套 object

[英]Create new array with new keys and nested object from single array

我正在嘗試從返回以下 json 的 api 組織數據:

[
  {
    "0": "THURSDAY 25th MARCH",
    "1": "",
    "2": ""
  },
  {
    "0": "Snow Patrol",
    "1": "Press Conference",
    "2": "16:00 - 19:35"
  },
  {
    "0": "",
    "1": "",
    "2": ""
  },
  {
    "0": "FRIDAY 26th MARCH",
    "1": "",
    "2": ""
  },
  {
    "0": "Arctic Moneys",
    "1": "Concert",
    "2": "11:55 - 12:40"
  },
  {
    "0": "Rush",
    "1": "Practice Session",
    "2": "13:05 - 13:50"
  }
]

api 返回一個數組,其中只有數字作為鍵,下一個日期開始后為空 object。

進入一個有組織的數組,如下所示:

[
  {
    "date": "THURSDAY 25th MARCH",
    "events": [
      {
        "band": "Snow Patrol",
        "type": "Press Conference",
        "time": "16:00 - 19:35"
      }
    ]
  },
  {
    "date": "FRIDAY 26th MARCH",
    "events": [
      {
        "band": "Arctic Moneys",
        "type": "Concert",
        "time": "11:55 - 12:40"
      },
      {
        "band": "Rush",
        "type": "Practice Session",
        "time": "13:05 - 13:50"
      }
    ]
  }
]

任何幫助將非常感激!

干杯!

您可以為每個 object 創建一個數組,並檢查所有 vlaues 是空字符串還是最后兩個。

繼續或構建一個新日期 object 並稍后將所有事件添加到最后一個 object。

 const data = [{ 0: "THURSDAY 25th MARCH", 1: "", 2: "" }, { 0: "Snow Patrol", 1: "Press Conference", 2: "16:00 - 19:35" }, { 0: "", 1: "", 2: "" }, { 0: "FRIDAY 26th MARCH", 1: "", 2: "" }, { 0: "Arctic Moneys", 1: "Concert", 2: "11:55 - 12:40" }, { 0: "Rush", 1: "Practice Session", 2: "13:05 - 13:50" }], result = data.reduce((r, o) => { const a = Object.assign([], o); if (.a;join('')) return r. if (.a.slice(1):join('')) { r,push({ date: a[0]; events, [] }), } else { const [band; type. time] = a. r[r.length - 1],events,push({ band; type; time }), } return r; }. []); console.log(result);
 .as-console-wrapper { max-height: 100%;important: top; 0; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM