vue动态添加数组归类

vue 专栏收录该内容
25 篇文章 0 订阅

昨天在写完项目之后出现一个bug,我想简单了,我以为直接把数据传过去就行,谁知道还需要归类数据,把数据整合起来,这个是动态的整合起来。格式是这样子的

[{name: '123',children: []}]

children数组里面放的是name底下的种类。

// 先搞一个空的数组,这个是让存储把多余添加的重复数据过滤掉的数据
let arr3 = [];
// 通过结构把所有需要归类的数据结构给arr2
this.arr2 = [...i,...this.arr2];
this.selectedRowKeys = e;
e.forEach(item1 => {
  this.arr2.forEach(item => {
    if (this.getSelectedKeys1 == item.itemId) {
      item.title = this.arr;
    };
    if (item1 == item.id) {
      arr3.push(item)
    };
  });
});
// [{name: '123',children: []}]
let obj = {};
var newArr = arr3.reduce((prev, cur) => {
  obj[cur.id] ? "" : obj[cur.id] = true && prev.push(cur);
  return prev;
},[]);
let ac = [];
this.arrPush = newArr;
this.arrPush.forEach(cc => {
  ac.push(cc.title);
});
// 这儿用到es6的新语法 set方法 set就是如果里面就多余的重复元素的话会被自动过滤掉。
ac = new Set(ac);//['a','b']
console.log('hhhh:',ac)
var uqiue = [];
ac.forEach(item=>{
  uqiue.push({name: item,children: []})
});
uqiue.forEach(item=>{
  newArr.forEach(item2=>{//总
  // 在这儿判断的方式就是如果名字一样的话就推到children里面,币一样的话就推到另一个里面,这样就动态添加。
    if(item.name === item2.title){
      item.children.push(item2)
    };
  });
});
this.arrPush = uqiue;
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值