整数a=[1,3,5,7]
との2つの配列がありますb=[2,4,6,8]
。次に、指定されたvar$v
が含まれa
ているかどうかを確認し、含まれている場合は、から同等の要素を返す必要がありb
ます。例:
if $v in a (and $x is its position) return $b[$x]
。
これを実行するにはどうすればよいですか?
整数a=[1,3,5,7]
との2つの配列がありますb=[2,4,6,8]
。次に、指定されたvar$v
が含まれa
ているかどうかを確認し、含まれている場合は、から同等の要素を返す必要がありb
ます。例:
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の互換性についてはを参照してください
var i = a.indexOf(v);
if (i !== -1)
{
return b[i]
}
以下の機能を試してみてください。PHP.js は本当に素晴らしい関数のコレクションであり、今日の機能を実現するためのすべての貢献者に敬意を表します。
これでうまくいくと思います。
>> function test(k){ return b[a.indexOf(k)]}
>> test(1)
2
>> test(9)
undefined
js では、indexOf
常に整数を返し、整数 ( などA[3]
) で配列を呼び出すと、常に値または を返しますundefined
。undefined
アプリケーション コードが壊れていないことを確認したい場合は、明示的に値を確認してください。