js---工具函数

1.base64格式图片转file文件格式

  base64toFile(dataurl, filename) {
    // 获取到base64编码
    const base64_str = dataurl.split(",");
    // 将base64编码转为字符串
    const decode_str = atob(base64_str[1]);
    let n = decode_str.length;
    // 创建初始化为0的,包含length个元素的无符号整型数组
    const u8arr = new Uint8Array(n);
    while (n--) {
      u8arr[n] = decode_str.charCodeAt(n);
    }
    return new File([u8arr], filename, {
      type: "image/png",
    });
  }

2、列表转树形结构

// 列表转树形结构
export function listToTree(list, id) {
  const arr = []
  list.forEach(item => {
  // 筛选一级部门
    if (item.pid === id) {
      // 筛选二级部门
      // 像这种自己调用自己的函数,我们叫它递归函数
      let children = listToTree(list, item.id)
         if (children.length) {
          item.children= children
           children.forEach(item => {
            listToTree(children, item.id)
    }
        }
       arr.push(item)
    }
  })
  return arr
}

3、数组对象分组

const arr = [
    { classId: "1", name: "张三", age: 16 },
    { classId: "1", name: "李四", age: 15 },
    { classId: "2", name: "王五", age: 16 },
    { classId: "3", name: "赵六", age: 15 },
    { classId: "2", name: "孔七", age: 16 }
];

groupArrayByKey(arr, "classId");

function groupArrayByKey(arr = [], key) {
    return arr.reduce((t, v) => (!t[v[key]] && (t[v[key]] = []), t[v[key]].push(v), t), {})
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cirrod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值