0

假设您在 ActionScript3 中有一个包含多个字符串的数组,并且您想测试测试字符串是否在该数组中。"in" 仅适用于 AS3 中的数组索引(如果你问我,这完全是延迟),虽然它确实适用于 ojects,但我们不是在谈论对象。

有人可以改进(减少)我现在使用的这段代码吗?我希望避免定义一个实用函数——我想要一个漂亮优雅的单线。

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! }
4

2 回答 2

2

使用Array.indexOf()方法查看数组中字符串的索引不-1存在(未找到):

var myArray:Array = ["hello", "world"];
trace(myArray.indexOf("hello")); // == 0;
trace(myArray.indexOf("goodbye")); // == -1
于 2011-08-07T19:59:09.267 回答
1

为什么不直接使用indexOf()

if(myArray.indexOf("testString") != -1) { // it's in there 
于 2011-08-07T20:01:45.877 回答