如何在Javascript中找到数组中最后一个重复元素的索引?

时间:2019-12-23 16:59:47

标签: javascript jquery

我有一个重复项的数组,例如:

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.

找到其他重复元素(尤其是最后一个元素)的索引的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

使用.lastIndexOf()

  

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);