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

 我来答
灰常了dei
2015-06-11 · TA获得超过1736个赞
知道小有建树答主
回答量:596
采纳率:60%
帮助的人:620万
展开全部
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);

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

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

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

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

whqhoo_love
2012-06-25 · 超过13用户采纳过TA的回答
知道答主
回答量:37
采纳率:100%
帮助的人:36万
展开全部
同学,数组中如果有相同的元素,后面的会把前面的覆盖掉哦,不可能出现完全相同的元素的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fuchji2008
2012-06-27 · 超过15用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:44.4万
展开全部
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);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喝喝好6
2019-07-30
知道答主
回答量:4
采纳率:0%
帮助的人:3338
展开全部
var arr = ['1', '1', '3', '4', '5', '6', '6', '7', '8', '8', '1', '1','8'];
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) { continue;}
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)
{
console.log("数组中值为"+arr[i]+"相同元素的下标为"+_index);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式