假设您在ActionScript3中有一个包含许多字符串的数组,并且您想测试测试字符串是否在该数组中。 “in”仅对AS3中的Arrays索引起作用(如果你问我,这完全是延迟的),虽然它确实适用于ojects,但我们不是在谈论对象。
有人可以改进(减少)我现在使用的这段代码吗?我希望避免定义一个实用功能 - 我想要一个漂亮优雅的单行。
myArray.filter(function(item:*, i:int, a:Array) { return (item == testString); }).length
由于0 == false,我们可以在测试中使用它。请注意,testString的作用域在contains函数中定义,由闭包封装。
if (allowedProfiles.filter(function(item:*, i:int, a:Array) { return (item == name); }).length){ // yay! }
答案 0 :(得分:2)
使用Array.indexOf()
方法查看数组中字符串的索引不是-1
(未找到):
var myArray:Array = ["hello", "world"];
trace(myArray.indexOf("hello")); // == 0;
trace(myArray.indexOf("goodbye")); // == -1
答案 1 :(得分:1)
为什么不使用indexOf()?
if(myArray.indexOf("testString") != -1) { // it's in there