我想使用 ES6 的 findIndex()
方法返回最大的数字。我怎么做?在下面的这个例子中,我只想返回具有最高 ID 的索引。
let index = context.state.locations.findIndex((l) => {l.id ?????? });
最佳答案
您可以使用 Array#reduce
简单解决方法。使用Array#findindex
它会更复杂。
将初始值设置为 0
(起始索引)假设第一个元素持有较大的 id
值。在回调中将当前较大的 id 值(基于当前的 maxIndex)与当前元素进行比较,并根据较大的值返回索引。
let index = context.state.locations.reduce((maxIndex, obj, curIndex, arr) => arr[maxIndex].id < obj.id ? curIndex : maxIndex, 0);
var arr = [{
id: 23
}, {
id: 2
}, {
id: 27
}, {
id: 5
}, {
id: 58
}, {
id: 50
}];
let index = arr.reduce((maxIndex, obj, curIndex, arr) => arr[maxIndex].id < obj.id ? curIndex : maxIndex, 0);
console.log(index);
关于javascript - ES6 findIndex 返回最高数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41716696/