首页 > 代码库 > forEach() map() some() [数组的扩充方法]
forEach() map() some() [数组的扩充方法]
2.7.1 arr.forEach()
参数及含义
var arr = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ , ‘e‘ ] ;
var rt = arr.forEach( function( a , b , c){
console.log( ‘三个参数‘ , a , b , c );
} ) ;
console.log( ‘返回值‘ , rt );
第1个参数是数组里的每个元素
第2个参数是索引
第3个参数是原数组
特点
1> forEach 方法按升序为数组中含有效值的每一项执行一次callback 函数,那些已删除(使用delete方法等情况)或者未初始化的项将被跳过(但不包括那些值为 undefined 的项)
1> 回调函数里无论return什么,最终得到的都是undefined
2.7.2 arr.map()
参数及含义
var arr = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ , ‘e‘ ] ;
var rt = arr.map( function( a , b , c){
console.log( ‘三个参数‘ , a , b , c );
} ) ;
console.log( ‘返回值‘ , rt );
第1个参数是数组里的每个元素
第2个参数是索引
第3个参数是每调用一次回调函数的返回值组成的数组
特点
map 方法会给原数组中的每个元素都按顺序调用一次 callback 函数。callback 每次执行后的返回值(包括 undefined)组合起来形成一个新数组。 callback 函数只会在有值的索引上被调用;那些从来没被赋过值或者使用 delete 删除的索引则不会被调用。
案例
将数组中每一项加2
var arr = [ ‘a‘ , ‘b‘ , ‘c‘ , ‘d‘ , ‘e‘ ] ;
var rt = arr.map( function( item , index , arr ){
console.log( ‘三个参数‘ , item , index , arr );
return item + 2 ;
} ) ;
console.log( ‘返回值‘ , rt );
2.7.3 arr.some()
参数及含义
var arr = [ 1 , 2 , 3 , 4 , 5 ] ;
var rt = arr.some( function( item , index , arr ){
console.log( ‘三个参数‘ , item , index , arr );
return item > 9 ;
} ) ;
console.log( ‘返回值‘ , rt );
判断数组里的每一项,如果有一个满足了item > 9 那么some方法就返回true,否则false
特点
some 为数组中的每一个元素执行一次 callback 函数,直到找到一个使得 callback 返回一个“真值”(即可转换为布尔值 true 的值)。如果找到了这样一个值,some 将会立即返回 true。否则,some 返回 false。callback 只会在那些”有值“的索引上被调用,不会在那些被删除或从来未被赋值的索引上调用。
var arr = [ 1 , 2 , 3 , 4 , 5 ] ;
var rt = arr.some( function( item , index , arr ){
console.log( ‘三个参数‘ , item , index , arr );
return item > 3 ;
} ) ;
console.log( ‘返回值‘ , rt );
forEach() map() some() [数组的扩充方法]