JavaScript entries方法小试牛刀-js

6514 ワード

新しくつないだプロジェクトの中で1つのとても吐き気がするデータの源の構造に出会って、JavaScriptのentries方法を使って、高い効率のは多層のデータの遍歴の方式を解決して、性能の上で効き目があるのは多いを高めただけではなくて、また多くの冗長なコードのコードコードコードコードコードコードのコードコードコードコードコードコードコードコードコードコードコードのコードコードコードコードコードコードコードコードコードコードコードコードコードコードコードコードコードコード
初期データソースパターンは、key値はスタイルの中のセレクションであり、対応するvalueは具体的なセルサブパターンであり、ページコンポーネントのレンダリング時に直接keyを取ってfor inエルゴード操作を行う場合はfor((item,name,index)in obj)の中のnameで直接keyを取得することができますが、後半にデータソース処理には多くの不便があります.最終的には、現在のデータソースを再構築し、データの再処理を容易にする構造にしたいです.
{
  "        ": [
    {
      "dmi_ctime": "2017-06-14 17:03:36.0",
      "dmi_dmtid": 238,
      "dmi_id": 3753,
      "dmi_name": "      、        ,       ",
      "dmi_namespecial": "",
      "dmi_order": 1,
      "dmi_projectname": "        ",
      "dmi_score": 2,
      "dmi_scorespecial": 0,
      "dmi_stepscore": 0.5,
      "dmi_utime": "2020-04-13 15:19:00.0",
      "memo": ""
    },
    {
      "dmi_ctime": "2017-06-14 17:03:36.0",
      "dmi_dmtid": 238,
      "dmi_id": 3754,
      "dmi_name": " :  (    )、  (    )、      ",
      "dmi_namespecial": "",
      "dmi_order": 2,
      "dmi_projectname": "        ",
      "dmi_score": 4,
      "dmi_scorespecial": 0,
      "dmi_stepscore": 0.5,
      "dmi_utime": "2018-05-17 14:10:13.0",
      "memo": ""
    },
   
  ],
  "  ": [
    {
      "dmi_ctime": "2017-06-14 17:03:36.0",
      "dmi_dmtid": 238,
      "dmi_id": 3764,
      "dmi_name": "(  )    ",
      "dmi_namespecial": "",
      "dmi_order": 12,
      "dmi_projectname": "  ",
      "dmi_score": 2,
      "dmi_scorespecial": 0,
      "dmi_stepscore": 0.5,
      "dmi_utime": "2018-05-17 14:24:51.0",
      "memo": ""
    },
    {
      "dmi_ctime": "2017-06-14 17:03:36.0",
      "dmi_dmtid": 238,
      "dmi_id": 3765,
      "dmi_name": "(  )   ",
      "dmi_namespecial": "",
      "dmi_order": 13,
      "dmi_projectname": "  ",
      "dmi_score": 4,
      "dmi_scorespecial": 0,
      "dmi_stepscore": 0.5,
      "dmi_utime": "2018-05-17 14:25:52.0",
      "memo": ""
    },
  ],
  "    ": [
    {
      "dmi_ctime": "2017-06-14 17:03:36.0",
      "dmi_dmtid": 238,
      "dmi_id": 3773,
      "dmi_name": "                      ",
      "dmi_namespecial": "",
      "dmi_order": 22,
      "dmi_projectname": "    ",
      "dmi_score": 5,
      "dmi_scorespecial": 0,
      "dmi_stepscore": 0.5,
      "dmi_utime": "2018-05-17 14:36:34.0",
      "memo": ""
    }
  ],
}
処理モード
const examPaperDetails = Object.entries(itemData).map(([groupName, array]) => ({ groupName, array })); //        
なお、itemteDataは上記のようなデータソースデータであり、 JavaScript entries()方法 データソースの再統合を行う.
ニコニコの関数処理方式で、冗長コードの処理が多く減少し、データの処理が効率的に行われました.
データの再統合によって、ページのレンダリングも後期のデータソースの再処理も非常に便利になり、データに対する遍歴の複雑な操作が回避されました.
処理後のデータソースのスタイルは以下の通りです.
[
  {
    "groupName": "        ",
    "array": [
      {
        "dmi_ctime": "2017-06-14 17:03:36.0",
        "dmi_dmtid": 238,
        "dmi_id": 3753,
        "dmi_name": "      、        ,       ",
        "dmi_namespecial": "",
        "dmi_order": 1,
        "dmi_projectname": "        ",
        "dmi_score": 2,
        "dmi_scorespecial": 0,
        "dmi_stepscore": 0.5,
        "dmi_utime": "2020-04-13 15:19:00.0",
        "memo": ""
      },
      {
        "dmi_ctime": "2017-06-14 17:03:36.0",
        "dmi_dmtid": 238,
        "dmi_id": 3754,
        "dmi_name": " :  (    )、  (    )、      ",
        "dmi_namespecial": "",
        "dmi_order": 2,
        "dmi_projectname": "        ",
        "dmi_score": 4,
        "dmi_scorespecial": 0,
        "dmi_stepscore": 0.5,
        "dmi_utime": "2018-05-17 14:10:13.0",
        "memo": ""
      },
    ]
  },
  {
    "groupName": "  ",
    "array": [
      {
        "dmi_ctime": "2017-06-14 17:03:36.0",
        "dmi_dmtid": 238,
        "dmi_id": 3764,
        "dmi_name": "(  )    ",
        "dmi_namespecial": "",
        "dmi_order": 12,
        "dmi_projectname": "  ",
        "dmi_score": 2,
        "dmi_scorespecial": 0,
        "dmi_stepscore": 0.5,
        "dmi_utime": "2018-05-17 14:24:51.0",
        "memo": ""
      },
      {
        "dmi_ctime": "2017-06-14 17:03:36.0",
        "dmi_dmtid": 238,
        "dmi_id": 3765,
        "dmi_name": "(  )   ",
        "dmi_namespecial": "",
        "dmi_order": 13,
        "dmi_projectname": "  ",
        "dmi_score": 4,
        "dmi_scorespecial": 0,
        "dmi_stepscore": 0.5,
        "dmi_utime": "2018-05-17 14:25:52.0",
        "memo": ""
      },
    ]
  },
  {
    "groupName": "    ",
    "array": [
      {
        "dmi_ctime": "2017-06-14 17:03:36.0",
        "dmi_dmtid": 238,
        "dmi_id": 3773,
        "dmi_name": "                      ",
        "dmi_namespecial": "",
        "dmi_order": 22,
        "dmi_projectname": "    ",
        "dmi_score": 5,
        "dmi_scorespecial": 0,
        "dmi_stepscore": 0.5,
        "dmi_utime": "2018-05-17 14:36:34.0",
        "memo": ""
      }
    ]
  },
]
 
以上が今回共有した全ての内容です.皆さんに役に立つことを願っています.