js中如何取得数组中相同元素的下标
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);
这里写了一个方法,第一个参数是所要求果的值,第二个参数是对应的数组,函数返回的结果就是在这个数组中有相同元素的坐标。
上面是已知元素进行查找,下面这个是对数组所有元素进行查找
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);
}
}
这个是对所有的数组元素遍历,查出所有的相同的元素以及下标
展开全部
同学,数组中如果有相同的元素,后面的会把前面的覆盖掉哦,不可能出现完全相同的元素的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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 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', '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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询