2011-08-07 68 views
0

假設在ActionScript3中有一個包含若干字符串的數組,並且您想測試一個測試字符串是否位於該數組中。 「in」僅適用於AS3中的陣列(如果你問我這個問題,它完全可以忽略),儘管它可以與oject協同工作,但我們並不是在談論對象。正確實現字符串'in'數組的一種更好的方法

有人可以改善(減少)我現在使用的這段代碼嗎?我希望避免定義一個效用函數 - 我想要一個漂亮的優雅單線程。

myArray.filter(function(item:*, i:int, a:Array) { return (item == testString); }).length 

由於0 == false,我們可以在測試中使用它。請注意,testString的作用域在包含函數中定義,由閉包封裝。

if (allowedProfiles.filter(function(item:*, i:int, a:Array) { return (item == name); }).length){ // yay! } 
+0

你有500代表,不知道如何正確格式化代碼的問題。想一想。 – Tomalak

+0

@Tomalak。採取的點。我很匆忙。 –

回答

2

使用Array.indexOf()方法來查看數組中字符串的索引不是-1(未找到):

var myArray:Array = ["hello", "world"]; 
trace(myArray.indexOf("hello")); // == 0; 
trace(myArray.indexOf("goodbye")); // == -1 
+0

當然。我是一個屁股。謝謝! –

1

爲什麼不直接使用indexOf()

if(myArray.indexOf("testString") != -1) { // it's in there 
相關問題