CS-Interview-Knowledge-Map
CS-Interview-Knowledge-Map copied to clipboard
Chinese Dicuss
For Chinese developers to discuss. 提供给中文开发者讨论问题
Great
good job
nice
@KieSun 是否有计划添加一些关于 nodejs 和设计模式的知识点。
@cobish 设计模式会写,node 暂时没有计划
@KieSun 期待设计模式 ing
点个赞,帮助很大。如果图片可以支持放大就更好了, 某些图片字体过小,导致看不清
虽然 node 暂时没有计划 ,但还是很期待
数据结构二叉树的排名那里_select函数中if函数的判断条件应该是size > k - 1,当size = k -1时返回node。 因为要找第三大的数,左边size为2,要找的数才是它本身。
在 前端/js/typeof 下 有一段这样的代码
let a
// 我们也可以这样判断 undefined
a === undefined
// 但是 undefined 保留字,能够在低版本浏览器被赋值
let undefined = 1
// 这样判断就会出错
// 所以可以用下面的方式来判断,并且代码量更少
// 因为 void 后面随便跟上一个组成表达式
// 返回就是 undefined
a === void 0
最后的 a===void 0
应该改为 a = void 0
@Flying-Snail 代码没问题
@dekura 这里的目的就是为了判断a的值是否是undefined,=不就是a被赋值为undefined了么
@KieSun 额,node中的size是包含node本身的大小。比如有5个数,左子树3个,右子数1个。现在k为3,size取的是左子树的大小也就是3.这个时候是我们需要的节点是在左边,但是因为size=k,代码中的情况是返回root节点本身的。
@Flying-Snail 首先 select 是查找第几小的函数,第几小从 0 开始,所以当你有 5 个数分别为 7,1,3,4,8 时,依次排序为 1,3,4,7,8,从 0 开始排序,所以 select(3)
的答案为 7 ,也就是根节点
@KieSun 这个查找是从0开始的啊。。。
@Flying-Snail 恩,你可以阅读下算法(第四版),毕竟人家是权威。
@KieSun 好的~
// 但是 undefined 保留字,能够在低版本浏览器被赋值
应该说undefined不是保留字吧?
@Techiu undefined不是保留字,它是内置对象。只不过后来被设置了只读属性。
总结的很好,点个赞
@wangliuyong 谢谢
class MyDate extends Date { test() { return this.getTime() } } let myDate = new MyDate() myDate.test() 这个我试了 在chrome里面没问题
想了半天下面的reduce的返回数组为什么要多加一个[]呢?
const flattenDeep = (arr) => Array.isArray(arr)
? arr.reduce( (a, b) => [...flattenDeep(a), ...flattenDeep(b)] , [])
: [arr]
flattenDeep([1, [[2], [3, [4]], 5]])
@Hasaki1997 数组是给 reduce 用的
说些题外话,代码写得好的大神,写起中文来也是非常厉害,一句话能写出四个语法错误(位于https://yuchengkai.cn/docs/about/):
求职:如果你能提供一份杭州不错的前端岗位机会,可以联系我的邮箱
- “如果”+句子, 逗号后应是另一个句子。
- “联系我的邮箱”?
- “一份机会”?
- (“杭州不错的前端岗位”)“机会”, 有“的”字的形容词通常放在没有“的”字的前面。
好吧,我承认我也经常犯这样的错误。
@AquaJerry 真的给大佬跪了😂
@AquaJerry 6的不行
@KieSun ,请问在 https://yuchengkai.cn/docs/zh/frontend/#this ,这个例子中
function foo() {
console.log(this.a)
}
var a = 2
foo()
var obj = {
a: 2,
foo: foo
}
obj.foo()
// 以上两者情况 `this` 只依赖于调用函数前的对象,优先级是第二个情况大于第一个情况
// 以下情况是优先级最高的,`this` 只会绑定在 `c` 上,不会被任何方式修改 `this` 指向
var c = new foo()
c.a = 3
console.log(c.a)
// 还有种就是利用 call,apply,bind 改变 this,这个优先级仅次于 new
第一个 a
是不是应该改为等于1
@hu970804 :thumbsup:
@hu970804 恩,改为 1 更加清楚。