今天也没干啥,就是改了改bug
第一次用到了forEach的第二个参数,浅纪念一下叭~
list.forEach((element, i) => {
element.menu.forEach((menuList, j) => {
let buttonAll = '';
menuList.button.forEach((buttonList) => {
buttonAll += buttonList.access_code;
});
if (buttonAll.indexOf("query") === -1 && buttonAll.indexOf("fileSystem") === -1) {
element.menu.splice(j, 1);
}
listForJudge.forEach((item) => {
if (menuList.route_name === item.route_name) {
if (buttonAll.indexOf(item.button) === -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