2019-08-19

js数组的迭代方法

ES5为数组定义了5个迭代的方法。每个方法都接受两个参数:
(1)要在每一项上运行的函数
(2)运行该函数的作用域对象--影响this的值(可选)。
运行的函数会接受三个参数:(1)数组项的值(2)该项在数组中的位置(3)数组对象本身。

.every()
对数组的每一项运行给定函数,如果该函数对每一项都返回true,则返回true.

var number = [1,2,3,4,5,6,4,3,2,1];
var everyResult = number.every(function(item,index,array){
  return (item > 2);
})
console.log(everyResult) false

.some()
对数组的每一项运行给定函数,如果该函数对任一项返回true,则返回true


var number = [1,2,3,4,5,6,4,3,2,1];
var someResult = number.some(function(item,index,array){
  return (item > 2);
})
console.log(someResult) true

filter()
对数组的每一项运行给定函数,返回该函数会返回true的项组成的数组。

var number = [1,2,3,4,5,6,4,3,2,1];
var filterResult = number.filter(function(item,index,array){
  return (item > 2);
})
console.log(filterResult) (6) [3, 4, 5, 6, 4, 3]

.map()
对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组

var number = [1,2,3,4,5,6,4,3,2,1];
var mapResult = number.map(function(item,index,array){
  return (item * 2);
})
console.log(mapResult)index.js:94 (10) [2, 4, 6, 8, 10, 12, 8, 6, 4, 2]

.forEach()
对数组的每一项运行给定函数。该方法没有返回值

var number = [1,2,3,4,5,6,4,3,2,1];
var forEachResult = number.forEach(function(item,index,array){
  console.log(forEachResult)
})undefined

你可能感兴趣的:(2019-08-19)