JavaScript数组的迭代方法
every()
:对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 truesome()
:对数组中的每一项运行给定函数,如果该函数对任一项返回 true,则返回 truefilter()
:对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组forEach()
:对数组中的每一项运行给定函数。这个方法没有返回值map()
:对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
以上方法都不会修改数组中包含的值
every()
和 some()
:
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]
var everyResult = numbers.every(function (item, index, array) {
return (item > 2)
})
console.log(everyResult) // false
var someResult = numbers.some(function (item, index, array) {
return (item > 2)
})
console.log(someResult) // true
filter()
:
var numbers = [1,2,3,4,5,4,3,2,1]
var filterResult = numbers.filter(function (item, index, array) {
return (item > 2)
})
console.log(filterResult) // [3,4,5,4,3]
map()
:
var numbers = [1,2,3,4,5,4,3,2,1]
var mapResult = numbers.map(function (item, index, array) {
return (item * 2)
})
console.log(mapResult) // [2,4,6,8,10,8,6,4,2]
forEach()
: 没有返回值
var numbers = [1,2,3,4,5,4,3,2,1]
var numbers1 = []
numbers.forEach(function (item, index, array) {
var i = item * 2
numbers1.push(i)
})
console.log(numbers1) // [2,4,6,8,10,8,6,4,2]