基本用法
var arr = [1,2,3,7,8]
arr.filter(function(item){ return item>2})
api实现
Array.prototype.filter = function(callback, this) {
if(!Array.isArra(this) || !this.length || typeof callback !== 'function'){
return []
}else {
let res = []
for(let i=0; i<this.length; i++) {
if(callback(this[i], i, this)) {
res.push()
}
}
return res
}
}
es6数组操作api
- Array.from(参数1,方法「类似于map」,this) // 类数组对象「有length属性的对象」和可迭代类型转换为数组
- 扩展运算符也能将可迭代类型转换为数组
- Array.of() // 将一组值,转换为数组;弥补new Array()小于2个参数结果不一致情况
- arr.copyWithin(开始替换的位置,读取数据,停止读取位置) //
- arr.find()/arr.findIndex()
- ar.fill(填充数组的值,填充的起始位置,填充的结束位置);填充的是对象,赋值的是内存对象
- arr.keys()/values()/entries()
两种遍历方法:
1、for… of…
2、arr.entries().next().value - arr.inclues()