此博客是本人从学生时代开始做笔记所用, 部分是工作所遇问题,做填坑笔记,部分闲来查阅资料,加上自己的理解所总结的学习笔记, 常忙得不可开交,若漏了资料来源,望通知~ 前路漫漫,写点东西告诉自己正在一点点进步,而不要迷失于繁忙。

array常用方法总结

forEach

1.对于遍历数组,除了常用的for循环,还有forEach方法

2.不改变原数组

arr.forEach(function(value, index, array){})

value: 当前遍历对象

index: 当前序号

array:遍历的数组

值得注意的是在此方法中改变value并不能改变原数组,要想改变它,得使用array

var a= [1, 2, 3];
a.forEach((item, index, arr)=> {
    item= 5;
})
console.log(a)//[1, 2, 3]
var b= [4, 5, 6];
b.forEach((item, index, arr)=> {
    arr[index]= 9;
})
console.log(b)//[9, 9, 9]

forEach方法也不能直接使用for循环中的break来中断跳出循环,但可以通过return来跳过当前遍历过程。

 

map

arr.map(function(item, index, array){})

 

1.数组映射,从原数组映射出一个新的数组

2.不改变原数组

var a= [1, 2, 3]
console.log(a.map(function(item){
    return item*item
}))

输出: [1, 4, 9]

备注: 如果没有return则返回undefined

 

filter

arr.filter

(function(item, index, array){})

1.筛选出所有符合条件的元素,生成一个问题新数组,true符合

2.不改变原数组

 

every

arr.every(function(item, index, array){})

1.判断整个数组的所有元素是否都符合条件,若符合返回true,否则为false

2.不改变原数组

 

some

arr.some(function(item, index, array){})

1.判断整个数组是否有元素符合条件,若有返回true,否则为false

2.不改变原数组

 

find

arr.find(function(item, index, array){})

1.返回符合条件的第一个元素,没有则返回undefined

2.不改变原数组

 

reduce

arr.reduce(function(total, item, index, arr){}, initialValue)

1.reduce并不意味着进行减法运算,而是指数组元素从左到右一个接一个缩减

2.数组元素依次计算累加

3.不改变原数组

var a= [1, 2, 3]
console.log(a.reduce(function(total, item, index, arr){
    return total+item
}, 100))

 

posted @ 2017-07-25 18:41  炎泽  阅读(342)  评论(0编辑  收藏  举报