js:创建一个数组,用于保存数组中重复项的索引

flo*_*scu 3 javascript arrays sorting filter

我正在寻找以下的js/jquery解决方案

我想检查一个数组是否有重复,让我们说:

var destRes = ['BH17 7EP', 'TA2 6LL', 'OX15 4LJ', 'OX15 4LJ', 'OX15 4LJ', 'BH17 7EP', 'TA2 6LL']
Run Code Online (Sandbox Code Playgroud)

并返回一个包含该值的第一个索引的数组; 例如对于上面的ex,这应该是返回:

var newArr = ['0', '1', '2', '2', '2', '0', '1' ]
Run Code Online (Sandbox Code Playgroud)

BH17 7EP在索引05,因此新阵列中的05索引应0,的第一个实例BH17 7EP

TA2 6LL是索引1,6所以在新数组16索引应该是1,第一个实例TA2 6LL

Dij*_*Dij 6

你可以迭代数组并使用indexOf()它总是返回数组中值的第一个索引.这样的事情:

var destRes = ['BH17 7EP', 'TA2 6LL', 'OX15 4LJ', 'OX15 4LJ', 'OX15 4LJ', 'BH17 7EP', 'TA2 6LL'];

var indexes = destRes.map(x => destRes.indexOf(x));

console.log(indexes);
Run Code Online (Sandbox Code Playgroud)