明天返校嗷呜

本文记录了一天的工作,主要涉及JavaScript代码优化,使用forEach的第二参数简化了多层循环逻辑,减少了冗余。同时分享了在LeetCode上解决917题的思路,介绍了字符串反转的实现方法。博客还提及了代码重构的重要性,以及对未来技术发展的思考。
摘要由CSDN通过智能技术生成
今天也没干啥,就是改了改bug
第一次用到了forEach的第二个参数,浅纪念一下叭~
list.forEach((element, i) => {
      element.menu.forEach((menuList, j) => {
        let buttonAll = '';
        menuList.button.forEach((buttonList) => {
          buttonAll += buttonList.access_code;
        });
        // 判断有无query,fileSystem只有manage权限目前
        if (buttonAll.indexOf("query") === -1 && buttonAll.indexOf("fileSystem") === -1) {
          element.menu.splice(j, 1);
        }
        // 有多个query则单独判断
        listForJudge.forEach((item) => {
          if (menuList.route_name === item.route_name) {
            if (buttonAll.indexOf(item.button) === -1) {
              element.menu.splice(j, 1);
            }
          }
        });
        // if (menuList.route_name === "DataWorkSpaceList") {
        //   if (buttonAll.indexOf("workspace.query") === -1) {
        //     element.menu.splice(j, 1);
        //   }
        // }
      });
      if (element.menu.length === 0) { // 如果二级菜单为空,一级菜单也去掉
        list.splice(i, 1);
      }
 });
注释的代码是自己之前写的逻辑,考虑到未来这样的可能会越来越多,所以用了listForJudge数组单独维护
写四层循环不知道leader看了会不会打死我hhh

以下是leetcode时间

917题:
题目描述:

在这里插入图片描述

思路:
首先你肯定得判断是否是字母嘛,正则表达式你得会叭,不然还要大于a小于z的hhh
然后反转嘛,最前到最后,次前到次后,嗯俩俩交换,双指针哔哔哔~~
以下赋官方解答~
var reverseOnlyLetters = function(s) {
    const n = s.length;
    const arr = [...s];
    let left = 0, right = n - 1;
    while (true) {
        while (left < right && !(/^[a-zA-Z]+$/.test(s[left]))) {
            left++;
        }
        while (right > left && !(/^[a-zA-Z]+$/.test(s[right]))) {
            right--;
        }
        if (left >= right) {
            break;
        }
        swap(arr, left, right);
        left++;
        right--;
    }
    return arr.join('');
};

const swap = (arr, left, right) => {
    const temp = arr[left];
    arr[left] = arr[right];
    arr[right] = temp;
}

过往不恋,未来可期 RIP

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值