Daily-Interview-Question
Daily-Interview-Question copied to clipboard
我是依扬(木易杨),公众号「高级前端进阶」作者,每天搞定一道前端大厂面试题,祝大家天天进步,一年后会看到不一样的自己。
时间复杂度: n^2 ```javascript // 生成从l到r的数量为n的随机数组 function randomArr (n, l, r) { let arr = []; for (let i = 0; i < n; i++) { let _random = Math.round(l +...
观察者模式中主体和观察者是互相感知的,发布-订阅模式是借助第三方来实现调度的,发布者和订阅者之间互不感知  * reference: * [观察者模式 vs 发布-订阅模式](https://juejin.im/post/5a14e9edf265da4312808d86)
```javascript LazyMan('Tony'); // Hi I am Tony LazyMan('Tony').sleep(10).eat('lunch'); // Hi I am Tony // 等待了10秒... // I am eating lunch LazyMan('Tony').eat('lunch').sleep(10).eat('dinner'); // Hi I am Tony // I am eating...
字符串仅由小写字母和 [] 组成,且字符串不会包含多余的空格。 示例一: `'abc' --> {value: 'abc'}` 示例二:`'[abc[bcd[def]]]' --> {value: 'abc', children: {value: 'bcd', children: {value: 'def'}}}`
``` javascript Promise.retry = function (promiseFn, times = 3) { return new Promise(async (resolve, reject) => { while (times--) { try { var ret = await promiseFn(); resolve(ret); break; }...
示例: ``` 输入: [0,1,0,3,12] 输出: [1,3,12,0,0] ``` 说明: 1. 必须在原数组上操作,不能拷贝额外的数组。 1. 尽量减少操作次数。
第 135 题:算法题
在一个字符串数组中有红、黄、蓝三种颜色的球,且个数不相等、顺序不一致,请为该数组排序。使得排序后数组中球的顺序为:黄、红、蓝。 例如:红蓝蓝黄红黄蓝红红黄红,排序后为:黄黄黄红红红红红蓝蓝蓝。
```javascript function processString (s) { var arr = s.split(''); var new_arr = arr.map((item) => { return item === item.toUpperCase() ? item.toLowerCase() : item.toUpperCase(); }); return new_arr.join(''); } console.log(processString('AbC')); ```