2019-04-27
描述
当提供的函数返回真值时,返回最后一个元素的索引值。
提示
- 使用
Array.prototype.map()
迭代数组中的每一个元素,使每一个元素变为包含他本身索引和值的数组 - 使用
Array.prototype.filter()
移除函数中假值的元素 - 使用
Array.prototype.pop()
获取最后一个元素
代码
const findLastIndex = (arr, fn) =>
arr
.map((val, i) => [i, val])
.filter(([i, val]) => fn(val, i, arr))
.pop()[0];
示例
返回数组中最后一个奇数的索引:
findLastIndex([1, 2, 3, 4], n => n % 2 === 1); // 2