【无标题】

菜单数组扁平化处理生成tree格式

let data = [
    {
      "menu_id": "1",
      "menu_name": "系统管理",
      "parent_id": "0",
      "order_num": "1"
    },
    {
      "menu_id": "2",
      "menu_name": "系统监控",
      "parent_id": "0",
      "order_num": "2"
    },
    {
      "menu_id": "100",
      "menu_name": "用户管理",
      "parent_id": "1",
      "order_num": "1"
    },
    {
      "menu_id": "101",
      "menu_name": "角色管理",
      "parent_id": "1",
      "order_num": "2"
    },
    {
      "menu_id": "102",
      "menu_name": "菜单管理",
      "parent_id": "1",
      "order_num": "3"
    },
    {
        "menu_id": "109",
        "menu_name": "在线用户",
        "parent_id": "2",
        "order_num": "1"
    },
    {
        "menu_id": "110",
        "menu_name": "定时任务",
        "parent_id": "2",
        "order_num": "2"
    },
    {
        "menu_id": "111",
        "menu_name": "数据监控",
        "parent_id": "2",
        "order_num": "3"
    }
];
let tree = data.reduce((prev, curr, i, arr) => {
    let children = arr.filter(v => v.parent_id === curr.menu_id)
    curr.children = children.sort((a, b) => a.order_num - b.order_num);
    if(!curr.parent_id || curr.parent_id === "0") prev.push(curr);
    return prev;
}, []).sort((a, b) => a.order_num - b.order_num);

console.log(tree);

数组去重

let datas = [1,2,3,'4',3,5,6,4,6,7,'a','b','b','c','a','5'];
let data = datas.filter((item, i, arr) => arr.indexOf(item, 0) === i);
console.log(data);

字符串字符个数统计

let str = 'abbcccddddeeeee1122333';
let result = [...str].reduce((prev, curr) => { 
    prev[curr] ? prev[curr]++ : prev[curr]=1; 
    return prev
} , {});
console.log(result);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值