在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ js 怎么取出一個(gè)數(shù)組中相同值的下標(biāo)?

js 怎么取出一個(gè)數(shù)組中相同值的下標(biāo)?

var arr = [1,2,3,4,1] 怎么取出相同值的下標(biāo)???,也就是取出第一個(gè)和最后一個(gè)的下標(biāo)
回答
編輯回答
伴謊

Array.indexOf

2018年8月19日 22:10
編輯回答
鐧簞噯

個(gè)人覺得問題不夠明確:

  1. 重復(fù)幾次?
  2. 重復(fù)項(xiàng)的值是否為number類型?

如果是題目中所說的

var arr = [1,2,3,4,1]

也就是每一項(xiàng)都是數(shù)字,并且最多重復(fù)兩次。

那么可以試試下面的代碼:

let a = [1,2,3,4,1];
//對(duì)a[a[i]-1]的值取反,則不重復(fù)的數(shù)為負(fù)數(shù),重復(fù)的數(shù)為正數(shù)
for(let i = 0;i<a.length;i++){
    let index = Math.abs(a[i])-1;
    a[index] = -a[index];
}
//a = [1, -2, -3, -4, 1]
//遍歷輸出大于0的項(xiàng)的下標(biāo)
for(let i = 0;i<a.length;i++){
    if(a[i]>0){
        console.log(i)
    }
}

時(shí)間復(fù)雜度O(n)。

2017年9月28日 14:52
編輯回答
護(hù)她命
for(let i = 0 ; i < arr.length; i++) {
  for(let j = 1; j < arr.length; j++) {
    if(arr[i] === arr[j] && i!==j) {
      console.log(i+","+j)
    }
  }
}
2017年3月8日 16:22