05 2020 档案
摘要:哈希其实就是js⾥的对象,它在实际的键值和存⼊的哈希值之间存在⼀层映射。如下例⼦: class HashTable{ constructor() { this.iems={} } put(key,value){ const hash=this.keyToHash(key) this.items[ha
阅读全文
摘要:其实就是es6的set,特点就是没有重复数据,也可以⽤数组模拟 class Set{ constructor() { this.items={} } has(value){ return this.items.hasOwnProperty(value) } add(value){ if(!this.
阅读全文
摘要:链表 有点像⽕⻋,⻋厢和⻋厢之间链接,有点是可以随时替换⻋厢,react最新架构的fifiber,就是从树变成 了链表,能够让diffff任务随时中断 class Node{ constructor(element){ this.element = element this.next = null
阅读全文
摘要:队列 这个很好理解 先入先出,有点像排队,通过数组push和shift模拟,通常用作任务管理 栈 // 栈class Stack{ constructor() { this.items=[] } push(item){ this.items.push(item) } pop(){ return th
阅读全文
摘要:查找⽐较简单,我们先来看⼀个经典的⼆分查找 有点类似幸运52的猜价格,⽐如让你在1和1000之间猜个数字,挨个猜是很蠢的,要先猜500,如果⼤了,那就是0~500 ,每次问题减半,很快就能查到 function binarySeatch(arr,target) { var low=0, high=a
阅读全文
摘要:爬楼: 有一楼梯共10级,刚开始时你在第一级你,若每次只能跨上一级或2级,要走上第10级,共有多少种走法? 斐波那契数数列 只有两种方式从第9层上一级或者从第8级上2级,9和8又各自有两种情况。 最后推到第三级解题 function stairs(n) { if(n 0) { return 1;}
阅读全文
摘要:// 递归Array.prototype.flat=function () { var arr=[]; this.forEach((item,idx)=>{ if(Array.isArray(item)){ arr=arr.concat(item.flat()) }else{ arr.push(it
阅读全文
摘要:在一个有序的数组中,插入新的数据,实现这种的操作就是插入排序 function insertSort(arr) { for(let i=1;i<arr.length;i++){//外循环从1开始,默认arr[0]是有序段 for(let j=i;j>0;j--){ if(arr[j]<arr[j-1
阅读全文
摘要:N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,所以可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数 function bubleSort(arr) { var len = arr.length for (let outer = len ; outer >=
阅读全文
摘要:现在javascript的正式版本已经到ES2017了,也就是ES8,说明一下: ES6 ES2015ES7 ES2016ES8 ES2017我们现在用的新版本的javascript语法(主要是ES6)与一些浏览器不兼容,那么就需要把我们的代码编译并生成浏览器兼容的语法(默认是ES5),这就是bab
阅读全文
摘要:1.promise常用方法 Promise.all() Promise.race() Promise.resolve() Promise.reject() Promise.prototype.catch() Promise.prototype.finally() Promise.prototype.
阅读全文
摘要:https://regexr.com/是学习正则的网站 都是汉字的正则: /^[\u4e00-\u9fa5\u3001\A-\Z\d]+$/ 手机号的正则: /^(1\d{10})([;,;](1\d{10}))*$/
阅读全文
摘要:使用 React 构建客户端应用程序,默认情况下,可以在浏览器中输出 React 组件,进行生成 DOM 和操作 DOM。React 也可以在服务端通过 Node.js 转换成 HTML,直接在浏览器端“呈现”处理好的 HTML 字符串,这个过程可以被认为 “同构”,因为应用程序的大部分代码都可以在
阅读全文
摘要:1.typeof 2.instanceof 3.constructor 4.Object.prototype.toString.call("")
阅读全文