数据处理,二维数组

现将数据分为一级和二级

let arrTemp = []
let arrTempC = [] // 二级数据
// 提取出一级二级数据
for (let i = 0; i < data.data.length; i++) {
   let item1 = data.data[i].navigator
   if (item1.length > 0) {
     for (let j = 0; j < item1.length; j++) {
       let item2 = item1[j]
       if (item2) {
         for (let k = 0; k < item2.length; k++) {
           if (item2[k].column_id.length === 1) {
             arrTemp.push({
               id: item2[k].column_id,
               name: item2[k].column_name,
               navigator: [],
             })
           }
           if (item2[k].column_id.length > 1) {
             arrTempC.push({
               id: item2[k].column_id,
               name: item2[k].column_name,
             })
           }
         }
       }
     }
   }
 }

去重

// 去重
for (let i = 0; i < arrTemp.length - 1; i++) {
  for (let j = i + 1; j < arrTemp.length; j++) {
    if (arrTemp[i].name == arrTemp[j].name) {
      arrTemp.splice(j, 1)
      //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--
      j--
    }
  }
}

// 去重
for (let i = 0; i < arrTempC.length - 1; i++) {
  for (let j = i + 1; j < arrTempC.length; j++) {
    if (arrTempC[i].name == arrTempC[j].name) {
      arrTempC.splice(j, 1)
      //因为数组长度减小1,所以直接 j++ 会漏掉一个元素,所以要 j--
      j--
    }
  }
}

匹配成二维

for (let i = 0; i < arrTemp.length; i++) {
let item = arrTemp[i]
  for (let j = 0; j < arrTempC.length; j++) {
    let item1 = arrTempC[j]
    if (item1.id.indexOf(item.id) > -1) {
      item.navigator.push({
        id: item1.id,
        name: item1.name,
      })
    }
  }
}
this.treeData = arrTemp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值