<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/06/13/looping-over-an-array-using-the-every-method-in-flex/ -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
        layout="vertical"
        verticalAlign="middle"
        backgroundColor="white" viewSourceURL="srcview/index.html">

    <mx:Style>
        .greenModal {
            modalTransparencyColor: haloGreen;
        }

        .redModal {
            modalTransparencyColor: red;
        }
    </mx:Style>

    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            import mx.utils.StringUtil;

            private function checkArray(arr:Array):void {
                textArea.text = "";
                dataGrid.dataProvider = arr;

                var success:Boolean = arr.every(isNumeric);
                if (success) {
                    Application.application.styleName = "greenModal";
                    Alert.show("Array is numeric.", // text
                                "SUCCESS",          // title
                                Alert.OK,           // flags
                                null,               // parent
                                null);              // closeHandler
                } else {
                    Application.application.styleName = "redModal";
                    Alert.show("Array has non-numeric elements.",
                                "ERROR",
                                Alert.OK,
                                null,
                                null);
                }
            }

            private function isNumeric(element:Object, index:int, arr:Array):Boolean {
                var str:String = StringUtil.substitute("{0} ({1})\n",
                            element.label,
                            element.data);
                textArea.text += str;
                return ((element.hasOwnProperty("data")) &&
                            (element.data is Number));
            }
        ]]>
    </mx:Script>

    <mx:Array id="numericArray1">
        <mx:Object label="One" data="1" />
        <mx:Object label="Two" data="2" />
        <mx:Object label="Three" data="3" />
        <mx:Object label="Four" />
        <mx:Object label="Five" data="5" />
        <mx:Object label="Six" data="6" />
        <mx:Object label="Seven" data="7" />
    </mx:Array>

    <mx:Array id="numericArray2">
        <mx:Object label="Eight" data="8" />
        <mx:Object label="Nine" data="9" />
        <mx:Object label="Ten" data="10" />
        <mx:Object label="Eleven" data="11" />
        <mx:Object label="Twelve" data="12" />
    </mx:Array>

    <mx:ApplicationControlBar dock="true">
        <mx:Button label="Check Array 1"
                click="checkArray(numericArray1);" />
        <mx:Button label="Check Array 2"
                click="checkArray(numericArray2);" />
    </mx:ApplicationControlBar>

    <mx:HBox>
        <mx:DataGrid id="dataGrid" rowCount="7">
            <mx:columns>
                <mx:DataGridColumn dataField="label" />
                <mx:DataGridColumn dataField="data" />
            </mx:columns>
        </mx:DataGrid>
        <mx:TextArea id="textArea"
                editable="false"
                width="{dataGrid.width}"
                height="{dataGrid.height}" />
    </mx:HBox>

</mx:Application>