Array find方法在UC浏览器未定义

2019-09-04 16:34:41 浏览数 (1)

今天发现用UC浏览器访问一个项目出现bug,后来检查出来原来UC浏览器并没有find方法(但它有filter方法),所以写了以下垫片。。。

代码语言:javascript复制
/*
*  findIndex (UCbrowser)
*/
if (![].findIndex) {
    Array.prototype.findIndex = function (predicate) {
        const array = this;
        for (let i = 0, value; i < array.length; i  ) {
            value = array[i];
            if (predicate.apply(array, [value, i, array])) {
                return i;
            }
        }
        return -1;
    };
}

/*
*  find (UCbrowser)
*/
if (![].find) {
    Array.prototype.find = function (predicate) {
        return this[this.findIndex(predicate)];
    };
}

0 人点赞