Flex中利用Array类中的every()事件循环遍历一个数组的例子(ActionScript 3.0)

在前面的例子 ActionScript3.0中利用forEach循环遍历一个数组(Array)对象并且修改其中的项目中我们利用 forEach对一个数组进行了遍历,接下来的例子演示了Flex中如何利用Array类中的every()事件,循环遍历一个数组。
让我们先来看一下Demo(可以右键View Source或 点击这里察看源代码 ):
 
下面是完整代码(或 点击这里察看):
Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.     <mx:Style>
  7.         .greenModal {
  8.             modalTransparencyColor: haloGreen;
  9.         }
  10.         .redModal {
  11.             modalTransparencyColor: red;
  12.         }
  13.     </mx:Style>
  14.     <mx:Script>
  15.         <![CDATA[
  16.             import mx.controls.Alert;
  17.             import mx.utils.StringUtil;
  18.             private function checkArray(arr:Array):void {
  19.                 textArea.text = "";
  20.                 dataGrid.dataProvider = arr;
  21.                 var success:Boolean = arr.every(isNumeric);
  22.                 if (success) {
  23.                     Application.application.styleName = "greenModal";
  24.                     Alert.show("Array is numeric.", // text
  25.                                 "SUCCESS",          // title
  26.                                 Alert.OK,           // flags
  27.                                 null,               // parent
  28.                                 null);              // closeHandler
  29.                 } else {
  30.                     Application.application.styleName = "redModal";
  31.                     Alert.show("Array has non-numeric elements.",
  32.                                 "ERROR",
  33.                                 Alert.OK,
  34.                                 null,
  35.                                 null);
  36.                 }
  37.             }
  38.             private function isNumeric(element:Object, index:int, arr:Array):Boolean {
  39.                 var str:String = StringUtil.substitute("{0} ({1})\n",
  40.                             element.label,
  41.                             element.data);
  42.                 textArea.text += str;
  43.                 return ((element.hasOwnProperty("data")) &&
  44.                             (element.data is Number));
  45.             }
  46.         ]]>
  47.     </mx:Script>
  48.     <mx:Array id="numericArray1">
  49.         <mx:Object label="One" data="1" />
  50.         <mx:Object label="Two" data="2" />
  51.         <mx:Object label="Three" data="3" />
  52.         <mx:Object label="Four" />
  53.         <mx:Object label="Five" data="5" />
  54.         <mx:Object label="Six" data="6" />
  55.         <mx:Object label="Seven" data="7" />
  56.     </mx:Array>
  57.     <mx:Array id="numericArray2">
  58.         <mx:Object label="Eight" data="8" />
  59.         <mx:Object label="Nine" data="9" />
  60.         <mx:Object label="Ten" data="10" />
  61.         <mx:Object label="Eleven" data="11" />
  62.         <mx:Object label="Twelve" data="12" />
  63.     </mx:Array>
  64.     <mx:ApplicationControlBar dock="true">
  65.         <mx:Button label="Check Array 1"
  66.                 click="checkArray(numericArray1);" />
  67.         <mx:Button label="Check Array 2"
  68.                 click="checkArray(numericArray2);" />
  69.     </mx:ApplicationControlBar>
  70.     <mx:HBox>
  71.         <mx:DataGrid id="dataGrid" rowCount="7">
  72.             <mx:columns>
  73.                 <mx:DataGridColumn dataField="label" />
  74.                 <mx:DataGridColumn dataField="data" />
  75.             </mx:columns>
  76.         </mx:DataGrid>
  77.         <mx:TextArea id="textArea"
  78.                 editable="false"
  79.                 width="{dataGrid.width}"
  80.                 height="{dataGrid.height}" />
  81.     </mx:HBox>
  82. </mx:Application>

你可能感兴趣的:(职场,休闲,3.0))