我有两个整数数组a=[1,3,5,7]
和b=[2,4,6,8]
。 现在我需要检查一个给定的变量$v
是否在a
中,如果是,则返回b
的等效元素。例如:javascript - 检查var是否在数组中
if $v in a (and $x is its position) return $b[$x]
。
我该如何执行此操作?
我有两个整数数组a=[1,3,5,7]
和b=[2,4,6,8]
。 现在我需要检查一个给定的变量$v
是否在a
中,如果是,则返回b
的等效元素。例如:javascript - 检查var是否在数组中
if $v in a (and $x is its position) return $b[$x]
。
我该如何执行此操作?
indexOf
方法将返回找到该项目的数组的索引,如果找不到则返回-1。
var i = a.indexOf(v);
if (i != -1)
{
return b[i]
}
编辑:这将添加该方法,如果您的浏览器没有它。
if (!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(x)
{
var i;
for (i = 0; i < this.length; i++)
{
if (this[i] === x)
{
return i;
}
}
return -1;
}
}
循环遍历数组中的项目:
for (var i = 0; i < a.length; i++) {
if (a[i] == v) {
return b[i];
}
}
return -1; // not found
if(a.indexOf(v) > -1) {
var id = a.indexOf(v);
console.log(b[id]);
}
注意:'Array.IndexOf'方法在IE 8或更低版本中不可用。 – Guffa
兼容性我想这会工作。
>> function test(k){ return b[a.indexOf(k)]}
>> test(1)
2
>> test(9)
undefined
在JS,indexOf
总是返回一个整数,并通过调用一个阵列的整数(如A[3]
),它总是返回一个值或undefined
。明确检查undefined
值,如果你想确保应用程序代码没有损坏。
注意:Array.indexOf方法在IE 8或更低版本中不可用。 – Guffa
你可能想给下面的函数一个尝试。 PHP.js真的是一个伟大的功能集合,并向所有贡献者致敬,让它成为今天的样子。
很多次PHP.js都是使用Javascript学习许多未知事物的好地方。 – Dharmavir
注意:'Array.IndexOf'方法在IE 8或更低版本中不可用。 – Guffa
大鼠。如果不存在,请编辑答案以添加该方法。 – Joe
谢谢!像魅力一样工作 – bikey77