91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js怎么實現嵌套數組重排序

發布時間:2022-01-25 15:12:04 來源:億速云 閱讀:251 作者:iii 欄目:開發技術

這篇文章主要介紹“js怎么實現嵌套數組重排序”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“js怎么實現嵌套數組重排序”文章能幫助大家解決問題。

總共遇到兩個問題:

1、JS中for循環輸出同一變量值的問題

js事件處理器在線程空閑事件不會運行,導致最后運行的時候輸出的都是i最后的值。

解決方法:在循環中聲明  this.content1 = {}

2、排序算法在序號到10以后出錯

解決方法:沒注意string和int,原數據為string

原數據:

js怎么實現嵌套數組重排序

目標:將table、text、image合并到一個content里面,并按blockNO排序

代碼:

<script>
export default {
  data() {
    return {
      data: [],
      content1: {}
    }
  },
  created() {
    this.test()
  },
  methods: {
    async test() {
      const { data: res } = await this.$http.get('test1')
      for (let i = 0; i < res.length; i++) {
        this.data1 = {}
        this.data1.name = res[i].name
        this.data1.blockNO = res[i].blockNO
        this.data1.class = res[i].class
        this.data1.id = res[i].id
        this.data1.children = []
        this.data1.content = []
 
        if (res[i].text) {
          for (let j = 0; j < res[i].text.length; j++) {
            this.content1 = {}
            this.content1.blockNO = res[i].text[j].blockNO
            this.content1.type = 'text'
            this.content1.detail = res[i].text[j].text
            this.data1.content.push(this.content1)
          }
        }
        if (res[i].table) {
          for (let j = 0; j < res[i].table.length; j++) {
            this.content1 = {}
            this.content1.blockNO = res[i].table[j].blockNO
            this.content1.type = 'table'
            this.content1.detail = res[i].table[j].table
            this.data1.content.push(this.content1)
          }
        }
        if (res[i].image) {
          for (let j = 0; j < res[i].image.length; j++) {
            this.content1 = {}
            this.content1.blockNO = res[i].image[j].blockNO
            this.content1.type = 'image'
            this.content1.detail = res[i].image[j].image
            this.data1.content.push(this.content1)
          }
        }
        for (let j = 1; j < this.data1.content.length; j++) {
          for (let i = 0; i < this.data1.content.length - j; i++) {
            if (
              parseInt(this.data1.content[i].blockNO) >
              parseInt(this.data1.content[i + 1].blockNO)
            ) {
              let tempnum = this.data1.content[i + 1]
              this.data1.content[i + 1] = this.data1.content[i]
              this.data1.content[i] = tempnum
            }
          }
        }
        this.data.push(this.data1)
      }
      console.log(this.data)
    }
  }
}
</script>

關于“js怎么實現嵌套數組重排序”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

丰都县| 葵青区| 邯郸市| 夹江县| 迭部县| 怀柔区| 合阳县| 贞丰县| 尤溪县| 东乌珠穆沁旗| 门头沟区| 麻江县| 万年县| 山阴县| 城固县| 桦川县| 巴青县| 龙江县| 应城市| 拜泉县| 宜丰县| 珠海市| 抚宁县| 承德县| 余江县| 永顺县| 普宁市| 汕尾市| 丰顺县| 蒙阴县| 阳东县| 铜陵市| 浙江省| 崇明县| 福贡县| 呈贡县| 英德市| 农安县| 大厂| 永顺县| 大庆市|