我如何使用“in”运算符?的Flex / AS3

时间:2009-12-11 18:38:27

标签: flex actionscript-3 actionscript flex3

因此,文档中有这个漂亮的“in”运算符,我更喜欢使用多步或语句(||)。文档给了我这个例子。

trace("PI" in Math);         // true
trace("myProperty" in Math); // false

public var myArray:Array = ["zero", "one", "two"];
trace(0 in myArray); // true
trace(1 in myArray); // true
trace("two" in myArray); // true
trace(3 in myArray); // false

所以我试着像这样使用它:

var quickArray:Array = ["@icd9_color","@icd9_icd9","@templateIcd9_name","@templateIcd9_name","@templateIcd9_templateIcd9ID"];
return (element.dataField in quickArray);

现在我可以跟踪或Alert.show()元素数据字段,它将与数组项完全匹配,但它永远不会返回true。任何人都可以帮我找出原因吗?

我唯一可以解决这个丑陋的事情:

return (
  element.dataField == "@icd9_color" ||
  element.dataField == "@icd9_icd9"
  etc..
)

1 个答案:

答案 0 :(得分:8)

in运算符检查对象是否具有指定的属性 - 该属性的值是什么。

您想使用Array.indexOf并检查非负值。