JavaScript数组求和(各数组方法一一实现)

实现数组求和的方法

基础知识回顾
这里写图片描述

  • push():向数组末尾添加一个或多个元素
  • unshift(): 向数组的开头添加一个或多个元素
  • pop(): 删除数组最后一个元素
  • shift(): 删除数组第一个元素
  • sort(): 给数组排序
  • reverse(): 颠倒数组项在数组中的位置
  • concat(): 合并数组
  • slice(): 指定的位置开始删除指定的数组项,并且将删除的数组项构建成一个新数组
  • splice(): 对一个数组做删除、插入和替换
  • indexOf(): 从前向后查找元素在数组中位置
  • lastIndexOf(): 从后向前查找元素在数组中位置
  • forEach()、every()、some()、filter()和map():数组迭代
  • reduce(): 数组中的每个值(从左到右)开始合并,最终为一个值
  • reduceRight(): 数组中的每个值(从右到左)开始合并,最终为一个值

数组求和

// 数组求和
    var arr = [0, 1, 2, 3, 4, 5];
    var sum = 0;

    // for方法
    for(var i = 0, len = arr.length; i < len; i++){
        sum += arr[i];
    }

    // while方法
    var len = arr.length - 1;
    while (len > 0) {
        sum += arr[len];
        len --;
    }

    // forEach方法
    arr.forEach(item => sum += item);

    // some方法
    // arr.some(item => sum+=item); // 1
    arr.some(item => {sum+=item}); // 15

    // map方法
    arr.map(item => sum+=item);

    // filter方法
    arr.filter(item => sum+=item);


    // every方法
    // arr.every(item => {sum+=item}); // 0
    arr.every(function (item) {
        sum += item;
        return true; // every方法是会在遇到回调函数返回的第一个false时停止遍历所以需要始终返回true
    });

    // reduce方法
    // var sum = arr.reduce((prev, cur) => {prev + cur}); // 0
    var sum = arr.reduce((prev, cur) => {return prev + cur}); // 15


    console.log(sum);

思考:如何测试各代码运行时间长短?
JavaScript学习笔记:数组求和方法

猜你喜欢

转载自blog.csdn.net/qq_25479327/article/details/80109645