该篇文章主要囊括了5个迭代方法。
每 个 方 法 都 接 收 两 个 参 数: 要 在 每 一 项 上 运 行 的 函 数 以及( 可 选 的) 运 行 该 函 数 的 作 用 域 对 象—— 影 响 this 的 值。
而在传 入 这 些 方 法 中 的 函 数 会 接 收 三 个 参 数: 数 组 项 的 值、 该 项 在 数 组 中 的 位 置 和 数 组 对 象 本 身。
对 数 组 中 的 每 一 项 运 行 给 定 函 数, 如 果 该 函 数 对 每 一 项 都 返 回 true ,则 返 回 true 。(若有一项不符合则为false)
var numbers = [1,2,3,4,5,6,7,5,4,3,2,1];
var everyResult = numbers.every(function(item,index,array){
return (item>2)
})
console( everyResult); // false
对 数 组 中 的 每 一 项 运 行 给 定 函 数, 返 回 该 函 数 会 返 回 true 的 项 组 成 的 数 组。(即筛选出符合条件的项,并组形成数组)
var numbers = [1,2,3,4,5,4,3,2,1];
var filterResult = numbers.filter( function( item, index, array){
return (item > 2);
})
对 数 组 中 的 每 一 项 运 行 给 定 函 数。 这 个 方 法 没 有 返 回 值。
本 质 上 与 使 用 for 循 环 迭 代 数 组 一 样。
var numbers = [1,2,3,4,5,4,3,2,1];
numbers.forEach( function( item, index, array){
// 执 行 某 些 操 作
});
对 数 组 中 的 每 一 项 运 行 给 定 函 数进行操作, 返 回 每 次 函 数 调 用 的 结 果 组 成 的 数 组。
var numbers = [1,2,3,4,5,4,3,2,1];
var mapResult = numbers.map( function( item, index, array){
return item * 2;
});
console( mapResult); //[ 2,4,6,8,10,8,6,4,2]
对 数 组 中 的 每 一 项 运 行 给 定 函 数, 如 果 该 函 数 对 任 一 项 返 回 true ,则 返 回 true
只要一项为true,那就会返回为true
var numbers = [1,2,3,4,5,4,3,2,1];
var someResult = numbers.some( function( item, index, array){
return (item > 2);
});
console( someResult); // true