Jack Lu
Jack Lu
Tip: > 1. 冒泡则是在每一层遍历过程中找出最大的那个数(通过相邻比较,移动) > 2. 算法复杂度:O(n2), 可以通过空间换取时间方法--记录每一次遍历的第二大数索引,下一次遍历从第二大数索引位置开始遍历 ```js let arr = [10, 80, 40, 60, 30, 90, 40, 50, 85]; const bubbleSort = (arr) => { for (let i...
docs: https://www.typescriptlang.org/docs/handbook/utility-types.html
补充一下: extends 如果单纯用在ts类型系统中, 起到`if`作用, 例如: ```ts type DropChar< S extends string, C extends string > = S extends `${infer F}${infer R}` ? F extends C ? DropChar : `${F}${DropChar}` :...
一种最简单的适配方法, 设置meta信息 width=375 , 375是你设计稿的宽度, 注意不能设置scale ```html ``` 这样直接用px单位, 页面也会跟踪适配了
类似谓词`is`是类型收缩的其中一种 ```ts class Car implements Vehicle { move = (distance: number) => { // Move car… }; turnSteeringWheel = (direction: string) => { // Turn wheel… }; } const anotherCar...
> Tip: 1. Promise.all() 方法接收一个 promise 的 iterable 类型(注:Array,Map,Set 都属于 ES6 的 iterable 类型)的输入,并且只返回一个 Promise 实例, 那个输入的所有 promise 的 resolve 回调的结果是一个数组。这个 Promise 的 resolve 回调执行是在所有输入的 promise 的 resolve 回调都结束,或者输入的 iterable...
```typescript type RemoveIndexSignature = { [Key in keyof T as Key extends `${infer R}` ? Key : never]: T[Key]; }; ```
```typescript type Includes = {} extends { [K in keyof T as Equal extends true ? K : never]: T[K]; } ? false : true ```
> 我在react项目,pc端,安装好库了,也配置好postcss.config.js了,但样式没有生效,也没有把px转成rem 这个是转成vw单位的,可以用,和设备没有关系
1. var是js申明变量最原始的一种,let,const是es6新语法,主要是弥补了类似其他语言申明常量,变量,块作用域方面的不足, 2. let可以让变量有块级作用域,比如这个例子 ```js for (var i = 0; i < 3; i++) { setTimeout(function () { console.log(i) // 0,1,2 如果用var 打印出来就是333 }, 1000); } 3. const定义常量(申明时必须有初始值),let定义变量,两者不存在变量提升,先申明在使用,而且不能重复申明