| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 | /** * (c) 2010-2019 Torstein Honsi * * Simple polyfills for array functions in old IE browsers (6, 7 and 8) in * Highcharts v7+. These polyfills are sufficient for Highcharts to work, but * for fully compatible polyfills, see MDN. * * License: www.highcharts.com/license *//* eslint no-extend-native: 0 */'use strict';if (!Array.prototype.forEach) {    Array.prototype.forEach = function (fn, ctx) {        var i = 0,            len = this.length;        for (; i < len; i++) {            if (                this[i] !== undefined && // added check                fn.call(ctx, this[i], i, this) === false            ) {                return i;            }        }    };}if (!Array.prototype.map) {    Array.prototype.map = function (fn) {        var results = [],            i = 0,            len = this.length;        for (; i < len; i++) {            results[i] = fn.call(this[i], this[i], i, this);        }        return results;    };}if (!Array.prototype.indexOf) {    Array.prototype.indexOf = function (member, fromIndex) {        var arr = this, // #8874            len,            i = fromIndex || 0; // #8346        if (arr) {            len = arr.length;            for (; i < len; i++) {                if (arr[i] === member) {                    return i;                }            }        }        return -1;    };}if (!Array.prototype.filter) {    Array.prototype.filter = function (fn) {        var ret = [],            i = 0,            length = this.length;        for (; i < length; i++) {            if (fn(this[i], i)) {                ret.push(this[i]);            }        }        return ret;    };}if (!Array.prototype.some) {    Array.prototype.some = function (fn, ctx) { // legacy        var i = 0,            len = this.length;        for (; i < len; i++) {            if (fn.call(ctx, this[i], i, this) === true) {                return true;            }        }        return false;    };}if (!Array.prototype.reduce) {    Array.prototype.reduce = function (func, initialValue) {        var context = this,            i = arguments.length > 1 ? 0 : 1,            accumulator = arguments.length > 1 ? initialValue : this[0],            len = this.length;        for (; i < len; ++i) {            accumulator = func.call(context, accumulator, this[i], i, this);        }        return accumulator;    };}if (!Object.keys) {    Object.keys = function (obj) {        var result = [],            hasOwnProperty = Object.prototype.hasOwnProperty,            prop;        for (prop in obj) {            if (hasOwnProperty.call(obj, prop)) {                result.push(prop);            }        }        return result;    };}
 |