js操作数组方法总结

数组的常见方法

总结了十种数组的常见方法

  1. reduce的用法,reduce名为收敛,叠加,返回的是叠加后的结果。reduce接受两个参数,第一个参数是回调函数,第二个参数是初始值。回调函数有四个参数,

a、total(必填)为当前所有的累积结果
b、cur(必填)是当前的值
c、currindex是当前索引
d、arr是调用方法的数组

 let result=[1,2,3,4,5].reduce((total,cur,currindex,arr,)=>{ return prev+next
 },init)
 console.log(result)//15

手写reduce源码

Arry.prototype.myReduce=function(fn,prev){
for(let i=0;i<this.length;i++){
if(typeof prev=='undefined'){
prev=fn(this[i],this[i+1],i+1,this)
++i;
}else{
prev=fn(prev,this[i],i,this)
}
}
return prev
}

2.forEach 接收一个函数,函数两个参数item和index
1item,当前元素
2index,当前元素的序号

手写forEach源码

Array.prototype.forEach=function(fn){
for(let i=0;i<this.length;i++){
fn(this[i],i)}
}

3.map返回值,返回值是一个新数组
手写map源码

Array.prototype.map=function(fn){
let arr=[];
for(let i=0;i<this.length;i++){
arr.push(fn(this[i],i))}
return arr
}

4.filter 过滤 如果返回true比爱哦是留下 返回false表示删除 返回过滤后的新数组

let arr=[1,2,3]
let filterArr=arr.filter(item=>{
return item>2})

5.find 查找,返回查找的那一项 找到后就不会继续查找了

[1,2,3].find(item=>{
return item===2})

6.some找到后返回true

[1,2,3].some(item=>{
return item===2})

7.every没找到后返回false
8.includes 是否包含某个值
9.Array.form()希望将类数组转化为数组,类数组就是有length属性的对象

function a(arguments){
console.log(eval(arguments.join('+')))
}

10.of()

let arr=Array.of(3)
console.log(arr)//[3]

上一篇:链表之无头双向非循环链表(Java语言)


下一篇:二叉树与双向链表