includes
//判断数组中是否含有某个成员
console.log([1,2,3].includes('2')) //false
console.log([1,2,3].includes(2))
//基本遵循严格相等(===)但对于NAN的判断与===不同,
includes认为NaN === NaN
console.log(NaN === NaN) //false
第二个参数
- 第二个参数是从哪里开始找,搜索起始位置默认值是0
Array.from
- 将其他数据类型转换成数组
- console.log(Array.from('str'))
// 拥有length属性的人员对象
const obj = {
'0':'a',
'1':'b',
name:'xiaom',
length:3,
}
console.log(Array.from(obj))
第二个参数
- 类似组的map方法,用来对应每个元素进行处理, 将处理后的值放入返回的数组
第三个参数
- 改变this指向,在function下
Array.from('12',value=>{
console.log(this)
},document)
Array.from('12',function(value){
console.log(this)
},document)
find()和findIndex()
- find():找到满足条件的一个立即返回
console.log( [10,200,30,40,50].find((value,index,arr)=>{
// console.log(value,index,arr)
return value>30
console.log(this)
},document))
- findIndex():找到满足条件的一个,立即返回其索引
console.log( [10,200,30,40,50].findIndex((value,index,arr)=>{
// console.log(value,index,arr)
return value>30
}))
Object.assing()
Object.assign({},{}[,...]); 用来合并对象
参数
1. 参数一 后面的参数都会合并到这个参数对象里面 2. 参数二,参数三... 需要合并的对象,有重复属性,后面的会覆盖前面的属性
注意
合并后返回的对象不是一个新对象,而是第一个参数的对象
要想返回新对象,第一个参数给个空对象
js const obj = Object.assign({},obj1[,obj2,...]);
Object.keys()
Object.keys(obj);
返回值
返回值是传递进来的obj的键组成的数组
Object.values()
Object.values(obj);
返回值
返回值是传递进来的obj的值组成的数组
Object.entries()
Object.entries(obj);
返回值
返回值是传递进来的obj的键加值组成的二维数组
js [['key',value],['key',value],...]
Promise
是异步操作的一种方案
参数
参数是回调函数,回调函数有俩个参数 1. 参数一 成功时 2. 参数二 失败时 3. 命名推荐使用 (resolve,reject) 简写 (res,rej)
resolve、reject
- 是一个函数 - resolve 里面通常传递一写数据 - reject 里面通常存放一些报错信息
Promise 的状态
1. pending 未完成(等待) 2. fulfilled/resolved 已完成(成功) 3. rejected 未完成(失败) 4. 一开始 pending 变化 fulfilled/rejected 5. Promise 的状态一旦变化,就不会改变
方法
then()
Promise.then();
参数
- 有两个参数 是函数 都会有一个参数接收 resolve/reject 传递过了的数据 - 第一个参数 是成功时执行的代码块 - 第二个参数 是失败时执行的代码块 - 通常只用第一个参数 第二个参数的作用交给 catch 来做
catch
Promise.catch();
参数
- 有一个参数 是函数 会接收一个 reject 传递过了的数据(报错信息) - catch 的函数数里 是失败执行的代码块 (等同于then的第二个参数)
finally
Promise.finally();
参数
- 有一个参数 是函数