Предположим, у вас есть массив с количеством строк в ActionScript3, и вы хотите проверить, находится ли тестовая строка в этом массиве. «in» работает только с индексом с массивами в AS3 (который полностью запаздывает, если вы спросите меня), хотя он работает с объектами, но мы не говорим об объектах.
Может ли кто-нибудь улучшить (уменьшить) код, который я сейчас использую? Я надеюсь избежать определения служебной функции - я хотел бы хороший элегантный однострочный.
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! }