js中数组求和的新方法介绍

<script>
    var data = [ 1 , 2 , 3 , 4 , 5 ];

    //1.0传统方法,for遍历数组
    var sum1 = 0;
    for ( var i = 0 ; i < data.length ; i ++ ) {
        sum1 += data[ i ];
    }
    console.log ( sum1 );//15
    //---------------------------------------
    //ES 中提供的新方法
    // 2.0使用数组的reduce方法,该方法需要一个回调函数,回调函数的参数是每次遍历时两两配对的值。
    var sum2 = data.reduce ( function ( left , right ) {//该回调函数从左向右执行
        return left + right;
    } )
    console.log ( sum2 );//15

    //2.1/该回调函数从右向左执行
    var sum3 = data.reduceRight ( function ( left , right ) {
        return left + right;
    } )
    console.log ( sum3 );//15

    //    3.0首先用join()方法将数组用加号拼接,再利用eval()可以执行代码形式的字符串求出结果;
    var sum4 = eval ( data.join ( "+" ) );
    console.log ( sum4 );//15

    //最后我们再来整体判断一下
    console.log ( sum1 === sum2 );//true
    console.log ( sum2 === sum3 );//true
</script>

 

posted @ 2017-06-13 00:04  小城雨巷  阅读(761)  评论(0)    收藏  举报