前端经验

Vue使用v-for循环遍历时为什么要绑定key值

首先我们需要了解Diffing 算法 当对比两颗树时,Vue 首先比较两棵树的根节点。不同类型的根节点元素会有不同的形态。 比对不同类型的元素 当根节点为不同类型的元素时,Vue 会拆卸原...

前端经验

JS合并两个有序数组

let a = [ 1 , 3 , 5 , 7 , 9 ] let b = [ 2 , 3 , 6 , 8 , 10 ] // 输出结果 [ 1, 2, 3, 3, 5, 6, 7, 8, 9, 10 ] 这个题目主要考察的是算法,不要直接使用数组的API进行操作, 如下 let result = a.concat(b).sort( (a, b)...

前端经验

js数组插入排序(优化技巧)

插入排序的基本写法如下: function insertSort ( arr ) { for ( let i = 1 ; i arr.length; i++) { let key = arr[i] let j = i - 1 ; while (j = 0 arr[j] key) { arr[j + 1 ] = arr[j] j--; } arr[j + 1 ] = key } return arr} 怎么优化插入...

前端经验

JS冒泡排序加优化技巧

先写一个交换位置的方法,以后会用到: function swap ( a, b, arr ) { let temp = arr[a] arr[a] = arr[b] arr[b] = temp } 冒泡排序的基本写法如下: function bubble ( arr ) { let len = arr.length; for ( let i = len; i...

前端经验

CSS之margin: auto;居中

有时候,要实现一些元素水平垂直都居中,这部分元素呢 可能大小未知,例如一些图片或者是一些未知大小的块元素。 利用绝对定位可以将要居中的元素脱离文档流. position : absolute;...

前端经验

React生命周期

挂载 当组件实例被创建并插入 DOM 中时,其生命周期调用顺序如下: constructor() static getDerivedStateFromProps() render() componentDidMount() 更新 当组件的 props 或 state 发生变化时会触发更新。组件...