js中如何取得数组中相同元素的下标

本文介绍了一种在数组中查找特定元素及其位置的方法,包括针对已知元素的精确查找和遍历整个数组查找所有重复元素及它们的下标。通过示例代码展示了如何实现这些功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

function searchKeys(needle, haystack)

{

    var result = [];

    for (i in haystack)

{

if (haystack[i] == needle)

{

    result.push(i);

}

}

    return result;

}

 

var array = [1,2,1,3,1,4,1,5,1,1];

var val = 1;

var result = searchKeys(val, array);

alert(result);

这里写了一个方法,第一个参数是所要求果的值,第二个参数是对应的数组,函数返回的结果就是在这个数组中有相同元素的坐标。

上面是已知元素进行查找,下面这个是对数组所有元素进行查找

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

var arr = ['1''2''3''4''5''6''6''7''8''1''1''1'];

var list = [];

for (var i = 0; i < arr.length; i++)

{

var hasRead = false;

for (var k = 0; k < list.length; k++)

{

if (i == list[k])

{

hasRead = true;

}

}

if (hasRead) { break;}

var _index = i, haveSame = false;

for (var j = i + 1; j < arr.length; j++)

{

if (arr[i] ==arr[j])

{

list.push(j);

_index += "," + j;

haveSame = true;

}

}

if (haveSame)

{

alert("数组中值为"+arr[i]+"相同元素的下标为"+_index);

}

}

这个是对所有的数组元素遍历,查出所有的相同的元素以及下标

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值