我有一个重复项的数组,例如:
var arr = [1,2,3,4,4,4,5,6]
arr.indexOf(4) => 3 always gives me the first index of the duplicated element in the array.
找到其他重复元素(尤其是最后一个元素)的索引的最佳方法是什么?
答案 0 :(得分:2)
lastIndexOf()方法返回可以在数组中找到给定元素的最后一个索引;如果不存在,则返回-1。从fromIndex开始向后搜索数组。
var arr = [1,2,3,4,4,4,5,6];
let index = arr.lastIndexOf(4);
console.log(index)
或者,如果您想要每个重复元素的lastIndex,则可以这样做
let arr = [0, 1, 1, 2, 3, 5, 5, 5, 6];
let lastIndexOfDuplicates = arr.reduce((acc, ele, i, o) => {
if (o.indexOf(ele) !== i) {
acc[ele] = i;
}
return acc;
}, {});
console.log(lastIndexOfDuplicates);