如果数组中的字符串相同,如何重复列表编号

时间:2019-01-16 19:05:49

标签: javascript

我想编写一个遍历数组的函数,并将为每个单独的字符串分配一个列表号。在有两个相同的字符串彼此相邻的情况下,我希望此列表号重复。例如,如果b在第二次和第三次迭代中都出现两次,则两者都应具有列表号“ 2”。我该如何实现?

const arr = ["a", "b", "b", "c", "d"]

function list(){
    let count = 1
    arr.forEach((x) => {
        console.log(count + '.' + x)
        count++
    })
}

list()

应该登录

1.a
2.b
2.b
3.c
4.d

1 个答案:

答案 0 :(得分:2)

保持count以1开头。

检查current index valuenext index value是否不同,将计数加1,否则保持原样。

const arr = ["a", "b", "b", "c", "d"]
let count =1;

arr.forEach((e,index)=>{
  console.log(count , ' . ', arr[index] )
  if(e !== arr[index+1]){
    count++;
  }
})