我有兩個整數數組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