findLastIndex-浏览器兼容问题
发表于:2025-07-21 |

前言

最近敲代码,我使用了findLastIndex,结果在客户电脑上,这个语法并不兼容,于是我去查了下这个语法的浏览器兼容性,不查不知道,一查吓一跳,版本兼容真的很差,建议线上版本别随意使用这个。

兼容性

兼容性

替代

如果你是和我一样比较低的版本,不是特别低的版本,支持IE9+的版本(支持reduceRight)。此时的代码为

1
2
3
4
5
function findLastIndex(array, predicate) {
return array.reduceRight((result, value, index) => {
return predicate(value, index, array) ? index : result;
}, -1);
}

如果你还是更低版本,那么就需要改成这样了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function findLastIndex(array, predicate) {
if (!Array.isArray(array)) {
throw new TypeError('Expected an array');
}
if (typeof predicate !== 'function') {
throw new TypeError('Predicate must be a function');
}

for (let i = array.length - 1; i >= 0; i--) {
if (predicate(array[i], i, array)) {
return i;
}
}
return -1;
}

结语

本篇文章就到这里了,更多内容敬请期待,债见~

下一篇:
微信小程序接受流返回