我通常认为indexOf非常有用,可以直接获得索引,而不是编写3-4行for循环来获得匹配。是否有类似的函数,比如indicesOf,来获取所有可能匹配的数组?或者是有一个不同的名字,但作为一个美丽的快捷方式,如"indexOf“?
发布于 2014-04-09 09:46:43
因为您不介意创建一个新的数组,所以可以使用filter()函数--它对数组的每个项执行一个函数,然后返回一个带有返回true的项的新数组
// our comparison function
function myCompFunction( element:*, index:int, array:Array ):Boolean
{
return ( element > 10 );
}
var ar:Array = [5,10,15,20];
var ar2:Array = ar.filter( myCompFunction ); // ar2 is now [15,20]这并不完全是指示,但再说一遍,你不需要取消你的对象。
注意:因为它正在对每个元素调用一个函数,所以自己遍历数组的速度仍然会更快
US/FlashPlatform/reference/actionscript/3/Array.html#filter()
发布于 2014-04-09 09:24:05
不幸的是,没有这样的捷径。indexOf只对一个项起作用,对于多个项没有其他选择。解决方案很明显--对整个数组进行迭代,或者在数组上使用某种排序。也许还有其他的方法,但它们几乎是相同的-循环的一切和检查。很抱歉这么说,但事情就是这样的:)
https://stackoverflow.com/questions/22958010
复制相似问题