2

現時点では変更できない古いデータベース クエリから、次の形式の JSON 結果メッセージを受け取りました。

{
  "vsm1": "2429",
  "vsm2": "2488",
  "vsm3": "1968",
  "vsm4": "",
  "vsm5": "",
  "vsm6": "",
  "vsm7": "",
  "vsm8": "",
  "vsm9": "",
  "vsm10": "",
  "color1": "5",
  "color2": "4",
  "color3": "4",
  "color4": "0",
  "color5": "0",
  "color6": "0",
  "color7": "0",
  "color8": "0",
  "color9": "0", 
  "color10": "0",
  "p1mtime": "1549296004",
  "p2mtime": "1549296009",
  "p3mtime": "1549296014",
  "p4mtime": "",
  "p5mtime": "",
  "p6mtime": "",
  "p7mtime": "",
  "p8mtime": "",
  "p9mtime": "",
  "p10mtime": "",
  "inch1": "",
  "inch2": "",
  "inch3": "",
  "inch4": "",
  "inch5": "",
  "inch6": "",
  "inch7": "",
  "inch8": "",
  "inch9": "",
  "inch10": "" 

}

次のように、より使いやすいオブジェクトに再フォーマットしたいと思います。

{ id: 1, vsm: 2429, color: 5, pmtime: 1549296004, inch: 0  }
{ id: 2, vsm: 2488, color: 4, pmtime: 1549296009, inch: 0  }
{ id: 3, vsm: 1968, color: 4, pmtime: 1549296014, inch: 0  }

...等々。

着信データは現在、各「セクション」(vsm1、vsm2、...vsm10、color1、color2、...color10 など) の 10 個に制限されているため、各セクションの 10 個の要素に対する何らかの静的ループ私が始めた方法ですが、かなり醜く、確かに柔軟性がないように見えました。

各セクションで n 個の要素を処理するスマート スニペットは、データが 10 個の要素を超えた場合、または 3 個に減少した場合に備えて、さらに優れています (データが存在しないか、データが取り除かれたために)。

私は .forEach() を使用する方向に沿って何かを考えていますが、確かに私の JSON / オブジェクト操作スキルはかなり貧弱です。そのため、誰かが私を正しい方向に向けたり、私が探しているものを達成するクールでタイトなルーチン/機能. 洞察を事前に感謝します。

4

4 に答える 4