为了账号安全,请及时绑定邮箱和手机立即绑定

js怎么实现Array的reduce函数?

js怎么实现Array的reduce函数?

墨色风雨 2019-01-28 05:01:12
js怎么实现Array的reduce函数?
查看完整描述

2 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

if (!Array.prototype.reduce) {

  Array.prototype.reduce = function(callback /*, initialValue*/) {

    'use strict';

    if (this === null) {

      throw new TypeError('Array.prototype.reduce called on null or undefined');

    }

    if (typeof callback !== 'function') {

      throw new TypeError(callback + ' is not a function');

    }

    var t = Object(this), len = t.length >>> 0, k = 0, value;

    if (arguments.length == 2) {

      value = arguments[1];

    } else {

      while (k < len && !(k in t)) {

        k++; 

      }

      if (k >= len) {

        throw new TypeError('Reduce of empty array with no initial value');

      }

      value = t[k++];

    }

    for (; k < len; k++) {

      if (k in t) {

        value = callback(value, t[k], k, t);

      }

    }

    return value;

  };

}


查看完整回答
反对 回复 2019-03-16
  • 2 回答
  • 0 关注
  • 763 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信