最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

如何將一維度數(shù)組轉(zhuǎn)換成三維數(shù)組結(jié)構(gòu)

 更新時(shí)間:2024年09月13日 10:00:42   作者:侯六六  
在開(kāi)發(fā)過(guò)程中,可能會(huì)遇到需要將一維數(shù)組轉(zhuǎn)換為多維數(shù)組的情況,以滿足特定數(shù)據(jù)結(jié)構(gòu)的需求,文章介紹了如何將后端返回的一維列表數(shù)據(jù)通過(guò)編程方法轉(zhuǎn)換成三維數(shù)組結(jié)構(gòu),以適應(yīng)特定的UI展示需求,通過(guò)循環(huán)遍歷和數(shù)據(jù)重組的方式,可以有效地實(shí)現(xiàn)數(shù)組結(jié)構(gòu)的轉(zhuǎn)換

一維度數(shù)組轉(zhuǎn)換成三維數(shù)組結(jié)構(gòu)

目標(biāo)UI圖

實(shí)現(xiàn)想法

希望如下結(jié)構(gòu)直接循環(huán)

    <div v-for="items in dataList" class="data-info">
      <g-card-title :data="{title:items.bigTitle}"></g-card-title>
     //循環(huán)小標(biāo)題list列表
      <g-card v-for="item in items.list" :data="item">
        /**組件內(nèi)容示例**/
     	 <div class="title" v-if="item .title">{{item .title}}</div>
     	 <div class="content">
     	 // 循環(huán)小標(biāo)題內(nèi)容itemList列表
     	  <div  v-for="(it, key) in item .itemList" :key="key">
     	  	{{it.name}}
     	  </div>
     	 </div>
     	/**組件內(nèi)容示例**/
      </g-card>
    </div>
   const dataList = [{
        bigTitle: 'bigTitle',
        list: [{
          title: 'title',
          itemList: [{ name: 'name', value: 'value' },
            { name: 'name', value: 'value' }]
        },
        {
          title: 'title',
          itemList: [{ name: 'name', value: 'value' },
            { name: 'name', value: 'value' }]
        }]
      }]

然后后端返回的數(shù)據(jù)為一維列表, 如下圖

大概數(shù)據(jù)如下

const data=[
{value: "360", name: "前屈(活動(dòng)度)",bigTitle: "一、測(cè)試結(jié)果及結(jié)論", title: "1、頸椎活動(dòng)度測(cè)試結(jié)果"},
{value: "365",name: "前屈(與正常值相比)",bigTitle: "",title: ""},
{value: "365",name: "后伸(活動(dòng)度)",bigTitle: "",title: ""},
{value: "360", name: "",bigTitle: "二、目標(biāo)", title: ""},
]

需要將此數(shù)據(jù)結(jié)構(gòu) 轉(zhuǎn)換成 我們所需要的結(jié)構(gòu)

      const dataList = [] //  目標(biāo)數(shù)據(jù)列表
      let bigTitleNum = 0 // 大標(biāo)題的數(shù)目
      let titleNum = 0 // 小標(biāo)題的數(shù)目
      // 循環(huán)數(shù)據(jù)
      data.forEach(item => {
        // 當(dāng)大標(biāo)題存在時(shí)
        if (item.bigTitle) {
          // 添加一個(gè)對(duì)象
          dataList.push({ bigTitle: item.bigTitle, list: [] })
          if (bigTitleNum !== 0) { titleNum = 0 }
          bigTitleNum++
        }
        // 當(dāng)小標(biāo)題存在的時(shí)候 或者 只有大標(biāo)題沒(méi)有小標(biāo)題的時(shí)候
        if (item.title || (item.bigTitle && !item.title)) {
          // 往該大標(biāo)題的對(duì)象中添加小標(biāo)題的對(duì)象
          dataList[bigTitleNum - 1].list.push({ title: item.title, itemList: [], requiredFlag: item.requiredFlag })
          titleNum++
        }
        if (titleNum > 0) {
          // 添加該小標(biāo)題下的數(shù)據(jù)列表內(nèi)容
          dataList[bigTitleNum - 1].list[titleNum - 1].itemList.push({ name: item.name, value: item.value, tagCode: item.tagCode })
        }
      })

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Javascript實(shí)現(xiàn)重力彈跳拖拽運(yùn)動(dòng)效果示例

    Javascript實(shí)現(xiàn)重力彈跳拖拽運(yùn)動(dòng)效果示例

    本文為大家詳細(xì)介紹下使用Javascript實(shí)現(xiàn)重力彈跳拖拽運(yùn)動(dòng)的具體調(diào)用方法,感興趣的朋友可以參考下哈
    2013-06-06
  • 更優(yōu)雅的微信小程序骨架屏實(shí)現(xiàn)詳解

    更優(yōu)雅的微信小程序骨架屏實(shí)現(xiàn)詳解

    這篇文章主要介紹了更優(yōu)雅的微信小程序骨架屏實(shí)現(xiàn)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • JS三級(jí)可折疊菜單實(shí)現(xiàn)方法

    JS三級(jí)可折疊菜單實(shí)現(xiàn)方法

    這篇文章主要介紹了JS三級(jí)可折疊菜單實(shí)現(xiàn)方法,以實(shí)例形式分析了asp.net結(jié)合JavaScript實(shí)現(xiàn)三級(jí)折疊菜單的相關(guān)技巧,涉及JavaScript節(jié)點(diǎn)操作實(shí)現(xiàn)方法,需要的朋友可以參考下
    2016-02-02
  • event.srcElement 用法筆記e.target

    event.srcElement 用法筆記e.target

    event.srcElement 可以捕獲當(dāng)前事件作用的對(duì)象,如event.srcElement.tagName可以捕獲活動(dòng)標(biāo)記名稱。
    2009-12-12
  • uniapp表單校驗(yàn)超詳細(xì)講解

    uniapp表單校驗(yàn)超詳細(xì)講解

    這篇文章主要給大家介紹了關(guān)于uniapp表單校驗(yàn)的相關(guān)資料,Uni-app內(nèi)置了一些表單驗(yàn)證方法,可以幫助我們對(duì)表單進(jìn)行有效的驗(yàn)證,需要的朋友可以參考下
    2023-10-10
  • JS實(shí)現(xiàn)網(wǎng)頁(yè)滾動(dòng)條感應(yīng)鼠標(biāo)變色的方法

    JS實(shí)現(xiàn)網(wǎng)頁(yè)滾動(dòng)條感應(yīng)鼠標(biāo)變色的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)網(wǎng)頁(yè)滾動(dòng)條感應(yīng)鼠標(biāo)變色的方法,實(shí)例分析了javascript針對(duì)鼠標(biāo)事件的操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • JavaScript事件冒泡與事件捕獲實(shí)例分析

    JavaScript事件冒泡與事件捕獲實(shí)例分析

    這篇文章主要介紹了JavaScript事件冒泡與事件捕獲,結(jié)合實(shí)例形式分析了事件冒泡、阻止冒泡以及事件捕獲的相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-08-08
  • 前端實(shí)現(xiàn)Token無(wú)感刷新的思路和具體實(shí)現(xiàn)方法

    前端實(shí)現(xiàn)Token無(wú)感刷新的思路和具體實(shí)現(xiàn)方法

    這篇文章主要介紹了前端實(shí)現(xiàn)Token無(wú)感刷新的思路和具體實(shí)現(xiàn)方法,Token無(wú)感刷新是前端開(kāi)發(fā)中提高用戶體驗(yàn)的一種方法,通過(guò)在Token即將過(guò)期時(shí)自動(dòng)刷新,避免用戶因Token過(guò)期而需要重新登錄,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2025-05-05
  • JavaScript對(duì)象的淺拷貝與深拷貝實(shí)例分析

    JavaScript對(duì)象的淺拷貝與深拷貝實(shí)例分析

    這篇文章主要介紹了JavaScript對(duì)象的淺拷貝與深拷貝,結(jié)合實(shí)例形式分析了javascript淺拷貝與深拷貝的原理、實(shí)現(xiàn)方法與相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • 解決Layui中templet中a的onclick參數(shù)傳遞的問(wèn)題

    解決Layui中templet中a的onclick參數(shù)傳遞的問(wèn)題

    今天小編就為大家分享一篇解決Layui中templet中a的onclick參數(shù)傳遞的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-09-09

最新評(píng)論

开江县| 襄樊市| 观塘区| 义乌市| 洛宁县| 通江县| 甘谷县| 乌拉特前旗| 云霄县| 荆州市| 济宁市| 三明市| 海城市| 宁河县| 开远市| 安化县| 云和县| 白城市| 介休市| 聂荣县| 彝良县| 凤庆县| 南平市| 磴口县| 潞城市| 平南县| 营口市| 惠来县| 句容市| 河曲县| 驻马店市| 汪清县| 犍为县| 潜山县| 札达县| 淮阳县| 建平县| 宁乡县| 武安市| 临泉县| 广州市|