为什么要讲这个话题呢?主要是因为最近很多问题都由这个特性帮我解决了,让我感叹这非常有用。
学习英语是理解编程的第一步。de-
在英语里表示 xx 的反义,比如 defrost(除霜),deactivate(使失活),decentralization(权力分散),那么 debounce 的意思就是防抖/防止弹跳。我们结合实际的例子感性的认识一下。
为什么要讲这个话题呢?主要是因为最近很多问题都由这个特性帮我解决了,让我感叹这非常有用。
学习英语是理解编程的第一步。de-
在英语里表示 xx 的反义,比如 defrost(除霜),deactivate(使失活),decentralization(权力分散),那么 debounce 的意思就是防抖/防止弹跳。我们结合实际的例子感性的认识一下。
本篇文章源自我自己的一个需求:我想看看 webpack 是如何组织 js 代码模块化的。打开编译后的文件有很多注释,不方便查看,我想去掉这些这些注释,那应该怎么做呢?学习写个插件用正则替换这些注释代码。
插件的设计机制一般都是在程序运行的各个阶段提供不同的 hook,传入数据、修改数据,以期得到一个满意的结果,webpack 也不例外。那针对这种场景,应该使用说明钩子函数呢?
继续阅读“如何编写一个 webpack plugin”有一个二维数组如下: let arr = [[“a0”, “a1”], [“a1”, “a2”], [“a3”]]; 我们看到 a1 这个元素在数组的第 0 项和第 1 项都存在了,我们需要将其合并成一项:
// 需要转化成 [[“a0”, “a1”, “a2”], [“a3”]]
同理,针对一个任意项的二维数组,只要其中某单个元素重复了,就应该合并进同一个数组里,减少这个二维数组的个数。那么怎么实现这个呢?
标题:工作中的一个问题之二
内容来自曾小乱的blog:https://zengxiaoluan.com/question-in-working/
继续阅读“工作和生活的情绪应该分开”有一个二维数组如下:
let arr = [["a0", "a1"], ["a1", "a2"], ["a3"]];
我们看到 a1
这个元素在数组的第 0 项和第 1 项都存在了,我们需要将其合并成一项:
// 需要转化成 [["a0", "a1", "a2"], ["a3"]]
同理,针对一个任意项的二维数组,只要其中某单个元素重复了,就应该合并进同一个数组里,减少这个二维数组的个数。那么怎么实现这个呢?
继续阅读“工作中的一个问题之二”有一个字符串: a[0:3]bb[-1:9]c[-1:-9]d
,0 对应 a0bb-1c-1d
,1 对应 a0bb-1c-2d
,2 对应 a0bb-1c-3d
,以此类推,那么当 100 应该对应哪个字符串?怎么实现这个转化?
需要注意 2 个地方,一个是 [-10:3]
可以递增,也可以是递减 [3:-10]
;另一个是这种模式可以无限叠加。
今年的五一假期有 5 天,再请上几天假,就有一个更长的假期。准备自驾去云南昆明。
04 月 30 日,再加上 05 月 01 日至 05 月 06 日。一共 7 天时间,只是预计,可能有变。
继续阅读“五一自驾游计划”应该正确使用 label 标签了,虽然我以前用了很长时间理解它。
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/label
学习英语是理解编程的第一步,generator 有发电机的意思,而 yield 有产生的意思,两者结合可以源源不断产生电源,很符合生成器函数的特性。 而利用 generator 处理异步也可以这样写:
标题:generator 和异步回调
内容来自曾小乱的blog:https://zengxiaoluan.com/generator-and-asynchronous-callbacks/#2020-03-30%E6%9B%B4%E6%96%B0
继续阅读“三月份的工作紧张”这个概念好像不太好翻译,有人直译为偏应用,对不懂这个概念的人有点一头雾水,不知所云,我来简单理解一下。另外已经有工程师把这个特性提交到了 tc39,说不定不久我们就能在新版谷歌浏览器使用了。
我们有一个求和函数如下:
function foo(a, b, c) { return a + b + c }
当我调用的时候,有个参数我突然不知道传什么,暂时想不传,并用 undefined
来替代。我们当然不能这么写:
foo(undefined,1,2)
继续阅读“partial application” 因为工作的关系,不得不学习了几种算法,好久不用又忘记了,这是一篇复习文章。
并查集回答的是连接问题,比如说从 a 城到 b 城有没有路,能回答有或者没有,但是不能回答具体的路是那几条,该怎么走;再比如说 a、z 这 2 个人能否通过共同好友的名片分享来加上微信。
并查集是解决点与点之间的关系,遇到实际问题的时候,需要我们进行转换成点与点,也就是建模。在数据结构上一般用数组来存储这些点。
继续阅读“并查集的正确使用姿势”这篇文章来自工作中的一个实际问题:电子工程师在进行电路设计时,一般不用画出有闭环的导线,否则就短路了,这个是没有意义的。为了避免电子工程师的误操作,需要做这么一个防呆的工作。这是一个实际的场景,为了解决这个问题,可以转换成一个图的问题。
先来解释几个概念。
继续阅读“检测无向图有没有闭环”