数组遍历方法
reduce 求数组和
-
语法:
arr.reduce(function(prev,cur,index,arr){ ... }, init); -
回调里面有4个参数:
- prev 表示上一次调用回调时的返回值,或者初始值 init;
- cur 表示当前正在处理的数组元素;
- index 表示当前正在处理的数组元素的索引,若提供 init 值,则索引为0,否则索引为1;
- arr 表示原数组;
- init 表示初始值。
-
传入初始值
![]()
![]()
-
不传初始值
![]()
![4]()
jquery 遍历数组
- 只能运用于
jquery语法中,i是数组的索引,x是数组的值.
![]()
forEach 遍历数组
- 无return 即使有return,也不会返回任何值,并且会影响原来的数组
- 有三个默认值:
- 第一个 当前数组值
- 第二个 索引
- 第三个 就是原数组
![57]()
![07]()
filter 过滤数组
-
过滤数组,返回一个满足要求的数组
-
有两个默认值
- 第一个当前索引值
- 第二个索引
let arr = [1,2,3,4,5] let arr1 = arr.filter( (value, index) => value<3) console.log(arr1) // [1, 2]
map 遍历数组
-
映射数组(遍历数组),有return 返回一个新数组
-
有三个默认值:
- 第一个 当前数组值
- 第二个 索引
- 第三个 就是原数组
var res1 = arr1.map((item,index,arr)=>{ item = item * 3; return item; }) console.log(res1); // [3,6,9,12]
every 判断数组全满足条件
- 依据判断条件,数组的元素是否全满足,若满足则返回ture
- 有两个默认值:
- 第一个当前索引值
- 第二个索引
let arr1 = arr.every( (value, index) =>value<3) console.log(arr1) // false let arr2 = arr.every( (value, index) =>value<6) console.log(arr2) // true
some 遍历判断数组满足条件
-
依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture
-
有两个默认值:
- 第一个当前索引值
- 第二个索引
let arr = [1,2,3,4,5] let arr1 = arr.some( (value, index) =>value<3) console.log(arr1) // true let arr2 = arr.some( (value, index) =>value>6) console.log(arr2) // false
Ps : Array.from() 将伪数组变成数组,就是只要有length的就可以转成数组
let str = '12345'
console.log(Array.from(str)) // ["1", "2", "3", "4", "5"]
let obj = {0:'a',1:'b',length:2}
console.log(Array.from(obj)) // ["a", "b"]







浙公网安备 33010602011771号