C# 的ArrayList有Contains函式可以用來檢查元素是否存在於這個Array裡,但是JavaScript裡的Array就沒有Contains函式可以使用,難道只能用迴圈來檢查了嗎?
不!JavaScript有提供很棒的"in"關鍵字供我們使用,這關鍵字不但容易讓人理解而且功能強大,如:
var arr : int[] = [1, 2, 3, 4, 5];
for(var i : int in arr)
{
Debug.Log(i); //1 2 3 4 5
}
像C#的foreach用法
var arr : Array = new Array(1, 2, 3, 4, 5);
if(3 in arr)
{
Debug.Log(true);
}
else
{
Debug.Log(false);
}
我們想要的Contains功能
var arr : int[] = [1, 2, 3, 4, 5];
if(3 in arr)
{
Debug.Log(true);
}
else
{
Debug.Log(false);
}
更棒的是BuildInArray也適用這個做法,C#的話似乎就必須用迴圈去找了。
if (foo == "bar" || foo == "foobar" || foo == "foo" )
{
//...
}
// can be written as
if (foo in ["bar", "foobar", "foo"])
{
//...
}
超棒的是不用再寫一堆||了,不但易讀易懂更易寫。
還有甚麼更好的應用就等大家分享了。
console.log(4 in [4,4,4,4]); // false
回覆刪除不知道你是在什麼環境下做測試的呢?
刪除我在Unity3D的環境下4 in [4,4,4,4];是true的。