Wing Meng
Wing Meng
```html + - ``` ```js const data = { count: 0 }; const proxy = new Proxy(data, { get(target, property) { return target[property]; }, set(target, property, value) { target[property] =...
已修正连续多个 0 时的 bug 思路:用一个 `len` 记录 0 的出现次数,再过滤掉原数组中所有的 0,最后在数组末尾补上被移除的 0 ```js let nums = [0, 0, 0, 1, 0, 3, 12]; console.log(moveZeroToLast(nums)); // [1, 3, 12, 0, 0, 0,...
```js const balls = ['红', '蓝', '蓝', '黄', '红', '黄', '蓝', '红', '红', '黄', '红']; // 定义排序规则,越小越靠前 const sortRule = new Map([ ['黄', 1], ['红', 2], ['蓝', 3] ]); balls.sort((a,...
```js var entry = { 'a.b.c.dd': 'abcdd', 'a.d.xx': 'adxx', 'a.e': 'ae' }; function formatEntryToTree(obj) { var output = {}; var handle = function(keys, value) { keys.reduce(function(before, now, index) { before[now]...
```js function findRepeatMaxChar(str) { const strArr = str.match(/([^\s])\1*/g); const maxLen = Math.max(...strArr.map(it => it.length)); return strArr.reduce((prev, cur) => { cur.length === maxLen && (prev[cur[0]] = cur.length); return prev; }, {});...
```js const bigArr = new Array(1e5); // 假设这就是那个 100K 的数组 const rdmIndex = new Set(); // 随机索引值 const sampleLen = 10e3; // 抽样样本长度(10K 个) const sampleArr = []; // 抽样样本数组...
> ```js > if(!resultSet.has(originArr[luckDog])) { > resultSet.add(originArr[luckDog]) > } > ``` @habc0807 Set 不需要判断是否存在重复元素,因为它本身就不会产生重复的元素,所以直接一直 `add` 操作就行了。
没有什么数组去重是一个 new Set 解决不了的……等一下,你是说数组项里还可能有对象或数组?打扰了…… ---- ```js function removeRepeat(arr) { const map = new Map(); // 先用 Set 过滤一波,过滤掉重复的基本类型 return [...new Set(arr)].filter(item => { // 这里现在只剩下引用类型了 // 把引用类型转为 string,作为 Map 的键名...
[>在线 Demo 关于这个布局,看张老师这篇就够了:https://www.zhangxinxu.com/wordpress/2020/01/css-grid-auto-flow/ ```css .poster { display: grid; grid-template: repeat(2, 1fr) / repeat(3, 1fr); grid-auto-flow: column; grid-template-areas: "海边女孩 花园 金发女郎" "海边女孩 都市 山峰"; gap: 8px; padding: 0; margin: 0; counter-reset:...
[> 在线 Demo { li.addEventListener('click', () => this.doSelect(index)); }); }, keyingHandle() { document.addEventListener('keydown', ({ keyCode }) => { const maxIndex = this.listItems.length - 1; let index = this.selectedIdx; if (keyCode...