首页 > 代码库 > 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 返回 falsecallback 只会在那些有值的索引上被调用,不会在那些被删除或从来未被赋值的索引上调用。

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() [数组的扩充方法]