数组的方法
filter,every,reduce,reduceRight,foEach,findeIndex,find,some,
filter 返回满足条件的新数组
Arrary.prototype.filter = function(fn){
let newArr = []
for(let i =0; i<this.length;i++){
let flag = fn(this[i])
flag&&flagnewArr.push(this.[i])
}
return newer
}
let arr1 = [24,56,88,90,5];
let arr2 = arr1.filter(function(item){
return item>=60;
});
every 返回一个布尔值,要求数组中的每个元素都满足条件
Array.prototype.every = function(fn){
let flag = true
for(let i =0; i<this.length;i++){
flag = fn(this[i])
if(!flag){
return false
}
}
return flag
}
some 返回一个布尔值,元素中至少有一个满足条件,即返回true,都不满足返回false
Array.prototy.some = function(fn){
for(let i=0;i<this.length;i++){
flag = fn(this[i])
if(flag){
return flag
}
}
return false
}
find 返回数组中第一个满足条件的元素
Array.prototy.find = function(fn){
for(let i=0; i<this.length;i++){
let flag = fn(this[i])
if(flag){
return this[i]
}
}
}
findeIndex 返回数组中第一个满足条件的元素的索引,否则返回-1
Array.prototype.findexIndex = function(fn){
for(let i =0;i<this.length;i++){
let flag = fn(this[i])
if(flag){
return i
}
}
return -1
}
from 把一个类数组或可迭代对象创建一个新的,属于浅拷贝的数组实例
Array.from('foo');
//[''f'',''o'',''o'']
Array.of()
方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型
if(!Array.of){
Array.of = Array.prototype.slice.call(arguments)
}
Array.of(1, 2, 3) //[1,2,3]