温习日志
——2023年1月31日下午
学习内容
- 奇妙的链式方法
- 通过
filter
方法、map
方法等等都会返回遍历后的新数组,所以可以使用链式写法
- 通过
- 练习3,详见于代码
- find方法
find
方法参数接受一个函数类似于map
和filter
,函数的参数分别是find(遍历的当前值, 当前索引, 遍历的数组)
最终返回的是匹配的值,不是返回数组
- 项目Bankist的执行登录
- 通过在函数的参数写入
e
或者event
,在代码中写入e.preventDefault()
可以禁止默认的行为,比如form
表单提交表单被禁止,不刷新页面 - 通过的DOM节点调用
dom.blur()
将该DOM节点的选中光标取消
- 通过在函数的参数写入
- 项目Bankist的转账功能
- findIndex方法
findIndex()
方法和find
方法类似,最后返回的是匹配的值的索引
- some和every
some
方法接受的函数与map
之类方法相同,当其中有值符合条件是返回true
,否则返回false
every
方法接受的函数与map
之类方法相同,当所有值符合条件才返回true
,否则返回false
arr.includes(-130)
和arr.some((value) => value === -130)
方法相同
- flat和flatMap
arr.flat(解构深度)
如果flat()
不写参数,默认解构第一层的,如:[1, [2, 3], 4].flat()
arr.flatMap()
方法与arr.map()
方法一样,不同的是会将数组解构合成一个新数组
- 排序数组
- 对于数组中存储的字母,通过
arr.sort()
可以将字母按照从a到z排序,会返回改变后的数组,修改原数组 - 对于数字排序不能直接
arr.sort()
,因为在JS中就是将数字再转换成字排序。所有,可以在排序方法中添加函数,arr.sort((a, b) => a - b)
将数组的数字按从小到大排序,从大到小则是(a, b) => b - a
- 对于数组中存储的字母,通过
- 更多的方法创建和填充数组
- 通过
new Array(1, 2, 3, 4)
创建数组[1, 2, 3, 4]
- 如果是
new Array(4)
创建四个值为空的数组 - 对空值数组进行
map
方法返回新数组是无效的 - 可以通过
arr.fill
方法进行填充,new Array(4).fill(1)
返回的是[1, 1, 1, 1]
fill
方法还接受两个参数,fill(填充的值, 开始填充的起始索引, 结束填充的后一位索引)
- 通过
- Array.from方法
Array.from()
接受可迭代的对象,如类数组、对象、map、set等- 可以将传入的可迭代对象变成数组,如:
Array.from(document.querySelectorAll('.calss'))
返回的是获取的所有有class类的DOM元素存储在新数组中 - 也可以
Array.from({length: 7})
创建有七个空值的数组 Array.from()
第二个参数接收一个映射函数- 映射函数的参数和
map
方法之类的参数相同 - 如创建一个从一到七的数组,
Array.from({length: 7}, (_, i) => i + 1)
,_
表示一次性变量
明日计划
- 明天十二点半起床,十三点开始学习JS基础知识
- 学习至下午五点半
- 晚上六点半学习React知识
- 学习至八点半