適用於 Adobe® Flash® Platform 的 ActionScript® 3.0 參考
首頁  |  隱藏套件和類別清單 |  套件  |  類別  |  新增內容  |  索引  |  附錄  |  為什麼顯示英文?
篩選: AIR 30.0 和更早版本, Flash Player 30.0 和更早版本, Flash Lite 4
Flex 4.6 和更早版本, Flash Pro CS6 和更早版本
隱藏篩選
最上層 

Array  - AS3

套件x

最上層
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

語言元素

全域常數
全域函數
運算子
陳述式、關鍵字和指令
特殊類型

附錄

新增內容
編譯器錯誤
編譯器警告
執行階段錯誤
移轉至 ActionScript 3
支援的字元集
僅限 MXML 標籤
移動 XML 元素
Timed Text 標籤
不建議元素清單
AccessibilityImplementation 常數
如何使用 ActionScript 範例
法律聲明

類別 x

AAAARecord    
AbandonCommand
ABRUtils
AbstractConsumer
AbstractEntityMetadata
AbstractEvent
AbstractInvoker
AbstractMessage
AbstractOperation
AbstractOperation
AbstractParticipant
AbstractProducer
AbstractSearchFilterVO
AbstractService
AbstractServiceWrapper
AbstractStage
AbstractTarget
AbstractWebService
AccConst
Accelerometer
AccelerometerEvent
Accessibility
AccessibilityImplementation
AccessibilityProperties
AccessibleButton
AccessibleText
AccessPrivileges
AccImpl
AccImpl
Accordion
AccordionAutomationImpl
AccordionHeader
AccordionHeaderAccImpl
AccordionHeaderSkin
AccordionHeaderSkin
AccordionHeaderSkin
AccordionNav
AccordionSkin
AcknowledgeMessage
ACMRelationshipManager
ActionBar
ActionBar    
ActionBarButtonSkinBase
ActionBarDefaultButtonAppearance    
ActionBarSkin    
ActionEffectInstance
ActionRenderer
ActionScriptVersion
ActionSelectedEvent
ActivationBrowser
ActivatorSkin
ActiveContentEvent
ActiveDataEvent
ActivityEvent
ActualBitrateMetric
AddAction
AddActionInstance
AddApprovalStageParticipant
AddAssetPopUp
AddChild
AddChildAction
AddChildActionInstance
AddCreatorDialog
AddItemAction
AddItemActionInstance
AddItems
AddPanelButton
AddPanelEvent
AddRemoveEffectTargetFilter
AddReviewStageParticipant
AddServiceEvent
AddStageParticipant
AddTileEvent
AddViewEvent
AddViewManagerEvent
AdjustColor
AdvanceDataElementsPanel
AdvancedChannelSet
AdvancedDataGrid
AdvancedDataGridAccImpl
AdvancedDataGridAutomationImpl
AdvancedDataGridBase
AdvancedDataGridBaseEx
AdvancedDataGridBaseExAutomationImpl
AdvancedDataGridBaseSelectionData
AdvancedDataGridColumn
AdvancedDataGridColumnGroup
AdvancedDataGridDragProxy
AdvancedDataGridEvent
AdvancedDataGridEventReason
AdvancedDataGridGroupItemRenderer
AdvancedDataGridGroupItemRendererAutomationImpl
AdvancedDataGridHeaderHorizontalSeparator
AdvancedDataGridHeaderInfo
AdvancedDataGridHeaderRenderer
AdvancedDataGridHeaderShiftEvent
AdvancedDataGridItemRenderer
AdvancedDataGridItemRendererAutomationImpl
AdvancedDataGridItemSelectEvent
AdvancedDataGridListData
AdvancedDataGridRendererDescription
AdvancedDataGridRendererProvider
AdvancedDataGridSortItemRenderer
AdvancedListBase
AdvancedListBaseAutomationImpl
AdvancedListBaseContentHolderAutomationImpl
AdvancedSearchPod
AdvancedStyleClient
AfterUpSwitchBufferBandwidthRule
AggregatingToken
AggregatingTokenError
AirDragManagerAutomationHandler
AIREvent    
AirFunctionsHelper
Alert
AlertAccImpl
AlertAutomationImpl
AlertFormatter
AlertFormAutomationImpl
AlignmentArea
AllRuntimeSparkControls
AlternativeAudioEvent
AlternativeAudioTrait
AMFChannel
AndOperator
Animate
AnimateColor
AnimateColorInstance
AnimateFilter
AnimateFilterInstance
AnimateInstance
AnimateProperty
AnimatePropertyInstance
AnimateTransform
AnimateTransform3D
AnimateTransformInstance
AnimateTransitionShader
AnimateTransitionShaderInstance
Animation
Animator
Animator3D
AnimatorBase
AnimatorFactory
AnimatorFactory3D
AnimatorFactoryBase
AnimatorFactoryUniversal
AnimatorUniversal
AnnotationParseEvent
AntiAliasType
Application
Application
Application
ApplicationAutomationImpl
ApplicationBackground
ApplicationConstants
ApplicationControlBar
ApplicationDomain
ApplicationDomainTarget
ApplicationListItem
ApplicationSkin
ApplicationSkin
ApplicationSpecifier
ApplicationTitleBarBackgroundSkin    
ApplicationUpdater    
ApplicationUpdaterUI    
ApplyElementIDOperation
ApplyElementStyleNameOperation
ApplyElementTypeNameOperation
ApplyElementUserStyleOperation
ApplyFormatOperation
ApplyFormatToElementOperation
ApplyLinkOperation
ApplyTCYOperation
ApprovalStage
ApprovalStage
Approver
Approver
ApproverCollection
ApproverStatus
ApproverStatus
ApproverVO
AreaChart
AreaRenderer
AreaSeries
AreaSeriesAutomationImpl
AreaSeriesItem
AreaSeriesRenderData
AreaSet
ARecord    
ArgumentError
arguments
Array
ArrayCollection
ArrayList
ArrayUtil
ArrowDirection    
Asset
AssetAction
AssetAction
AssetActionCompleteEvent
AssetActionCompleteEvent
AssetActionEvent
AssetActionEvent
AssetActionsChangeEvent
AssetDetailsPod
AssetEvent
AssetExplorerServiceDelegate
AssetFocusEvent
AssetHandlerRegistry
AssetHandlerRegistry
AssetManager
AssetManager
AssetManagerView
AssetModel
AssetPod
AssetPropertiesEditor
AssetPropertyDescriptor
AssetPropertyDescriptor
AssetQueryServiceDelegate
AssetReviewPod
AssetTypeDescriptor
AssetTypeDescriptor
AssetValidationEvent
AssetValidationFaultType
AssetVersionPod
AssetVO
Assignment
AssignmentConstants
AsyncErrorEvent
AsyncListView
AsyncMessage
AsyncRequest
AsyncResponder
AsyncToken
AsyncTokenResponder
AsyncTokenWrapper
Attachment
AttachmentCommand
AttachmentEvent
AttachmentHeader
AttachmentHeaderBase
AttachmentHeaderModel
AttachmentIconRenderer
AttachmentIconRendererSkin
AttachmentInfo
AttachmentList
AttachmentList
AttachmentListComponent
AttachmentListModel
AttachmentListSkin
AttachmentLoader
AttachmentPermissions
Attachments
AttachmentsModel
Attribute
AudioDecoder
AudioDeviceManager
AudioElement
AudioEvent
AudioOutputChangeEvent
AudioOutputChangeReason
AudioPlaybackMode    
AudioTrait
AuditActionVO
AuditAttributeVO
AuditLevel
AuditLevel
AuditLevelVO
AuditManager
AuditMetaInfoVO
AuditModuleVO
Auditor
AugmentedError
AugmentedErrorEvent
AuthenticatingApplication
AuthenticationEvent
AuthenticationMethod
AuthFailureCode
AuthOptions
Author
AuthorStatus
AuthorVO
AuthResult
AuthStatus
AutoCapitalize    
AutoLayoutEvent
Automation
AutomationAirEvent
AutomationClass
AutomationDragEvent
AutomationDragEventWithPositionInfo
AutomationError
AutomationEvent
AutomationEventDescriptor
AutomationFlexNativeMenuEvent
AutomationHelper
AutomationID
AutomationIDPart
AutomationManager
AutomationMethodDescriptor
AutomationPropertyDescriptor
AutomationRecordEvent
AutomationReplayEvent
AvailablePropertyIterator
AvailableQualityLevelsMetric
AVDictionaryDataEvent
AverageAggregator
AVHTTPStatusEvent
AVLoader
AVM1Movie
AVNetworkingParams
AVPauseAtPeriodEndEvent
AVTagData
AVURLLoader
AVURLStream
AxisBase
AxisLabel
AxisLabelSet
AxisRenderer
AxisRendererAutomationImpl
AXMAccordion
AXMAccordionItemVO
AXMAccordionSegment
AXMBreadCrumb
AXMButton
AXMButtonBar
AXMButtonBarButton
AXMCheckBox
AXMComboBox
AXMDropDownList
AXMDropDownListBase
AXMEnterpriseAccordionSegmentSkin
AXMEnterpriseAccordionSkin
AXMEnterpriseAssetTabBar
AXMEnterpriseAssetTabBarButtonSkin
AXMEnterpriseAssetTabBarSkin
AXMEnterpriseAssetViewTabBar
AXMEnterpriseAssetViewTabBarButtonSkin
AXMEnterpriseAssetViewTabBarSkin
AXMEnterpriseBreadCrumbButtonSkin
AXMEnterpriseBreadCrumbFocusSkin
AXMEnterpriseBreadCrumbSkin
AXMEnterpriseButtonBarFirstButtonSkin
AXMEnterpriseButtonBarLastButtonSkin
AXMEnterpriseButtonBarMiddleButtonSkin
AXMEnterpriseButtonBarSkin
AXMEnterpriseButtonSkin
AXMEnterpriseCheckboxSkin
AXMEnterpriseCheckboxSmallSkin
AXMEnterpriseClosableTabBarButtonSkin
AXMEnterpriseClosableTabBarSkin
AXMEnterpriseCloseButtonSkin
AXMEnterpriseComboBoxButtonSkin
AXMEnterpriseComboBoxSkin
AXMEnterpriseComboBoxTextInputSkin
AXMEnterpriseDropDownListButtonSkin
AXMEnterpriseDropDownListItemRenderer
AXMEnterpriseDropDownListSkin
AXMEnterpriseFocusSkin
AXMEnterpriseFooterSkin
AXMEnterpriseGridHeaderRenderer
AXMEnterpriseGridSkin
AXMEnterpriseHeaderBarSkin
AXMEnterpriseHeaderButtonBar
AXMEnterpriseHScrollBarLargeSkin
AXMEnterpriseHScrollbarNoControlsSkin
AXMEnterpriseHScrollbarSkin
AXMEnterpriseHScrollbarThumbSkin
AXMEnterpriseHScrollbarTrackNoControlsSkin
AXMEnterpriseHScrollbarTrackSkin
AXMEnterpriseIconButtonSkin
AXMEnterpriseLargeButtonSkin
AXMEnterpriseLargeToggleButtonSkin
AXMEnterpriseNavigationButtonBarSkin
AXMEnterpriseNumericStepperDecrementButtonSkin
AXMEnterpriseNumericStepperIncrementButtonSkin
AXMEnterpriseNumericStepperSkin
AXMEnterpriseNumericStepperTextInputSkin
AXMEnterprisePanelSkin
AXMEnterpriseProgressSpinnerSkin
AXMEnterpriseQuietButtonSkin
AXMEnterpriseQuietHeaderBarButton
AXMEnterpriseQuietLargeButtonSkin
AXMEnterpriseQuietLargeDropDownListButtonSkin
AXMEnterpriseRadioButtonSkin
AXMEnterpriseResizeHandleSkin
AXMEnterpriseScrollDownArrowSkin
AXMEnterpriseScrollLeftArrowSkin
AXMEnterpriseScrollRightArrowSkin
AXMEnterpriseScrollUpArrowSkin
AXMEnterpriseSlideToggleButton
AXMEnterpriseSplitActionButtonSkin
AXMEnterpriseSplitActionPopUpButtonSkin
AXMEnterpriseSplitActionSkin
AXMEnterpriseTabBarButtonSkin
AXMEnterpriseTabBarSkin
AXMEnterpriseTextAreaSkin
AXMEnterpriseTextInputSkin
AXMEnterpriseTitleWindowSkin
AXMEnterpriseToggleButtonSkin
AXMEnterpriseToolBarBottomSkin
AXMEnterpriseToolBarButtonBarFirstButtonSkin
AXMEnterpriseToolBarButtonBarLastButtonSkin
AXMEnterpriseToolBarButtonBarMiddleButtonSkin
AXMEnterpriseToolbarButtonBarSkin
AXMEnterpriseToolBarTopSkin
AXMEnterpriseViewModeButtonBarButtonSkin
AXMEnterpriseViewModeButtonBarSkin
AXMEnterpriseVScrollbarNoControlsSkin
AXMEnterpriseVScrollbarSkin
AXMEnterpriseVScrollbarThumbSkin
AXMEnterpriseVScrollbarTrackNoControlsSkin
AXMEnterpriseVScrollbarTrackSkin
AXMHeaderBar
AXMHScrollBar
AXMLightItemRenderer
AXMList
AXMPopUp
AXMProgressBar
AXMProgressSpinner
AXMResizableContainer
AXMRichTextEditor
AXMRichTextEditorControlBar
AXMScroller
AXMSplitActionButton
AXMSwitch
AXMTabBar
AXMTabBarButton
AXMTitleWindow
AXMToggleButton
AXMToolPopUp
AXMToolPopUpDropDownController
AXMVerticalDivider
AXMVScrollBar
套件最上層
類別public dynamic class Array
繼承Array Inheritance Object

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

Array 類別可讓您存取及操作陣列。 陣列索引會從零開始,這表示陣列中的第一個元素是 [0],而第二個元素是 [1],其他依此類推。若要建立 Array 物件,請使用 new Array() 建構函式。 Array() 也可以當做函數叫用。 此外,您可以使用陣列存取 ([]) 運算子以初始化陣列,或存取陣列的元素。

您可以在陣列元素中儲存各種不同的資料類型,包括數字、字串、物件,甚至是其他陣列。您可以建立「多維度」陣列,方法是建立索引陣列並為其個別元素指定不同的索引陣列。 這樣的陣列我們稱為多維度陣列,因為它可以用來在表格中顯示資料。

所謂「稀疏陣列」,表示在索引 0 可能有一個元素,在索引 5 則有另一個元素,不過這兩個元素之間的索引位置卻沒有任何元素。 在此情況下,從位置 1 到位置 4 的元素都是未定義的,也就表示不存在任何元素,而不一定有存在值為 undefined 的元素。

陣列是依據參照來指派,而非依據值來指派。 當您將一個陣列變數指派給另一個陣列變數時,兩者都會參照相同的陣列:

 var oneArray:Array = new Array("a", "b", "c");
 var twoArray:Array = oneArray; // Both array variables refer to the same array.
 twoArray[0] = "z";             
 trace(oneArray);               // Output: z,b,c.
 

請勿使用 Array 類別建立「關聯陣列」 (又稱為「雜湊」),也就是包含已命名元素 (而非已編號元素) 的資料結構。 若要建立關聯陣列,請使用 Object 類別。 雖然 ActionScript 允許您使用 Array 類別建立關聯陣列,您卻無法將關聯陣列與 Array 類別的所有方法或屬性搭配使用。

您可以擴充 Array 類別並覆寫或新增方法。 不過,您必須將子類別指定為 dynamic,否則便會喪失將資料儲存在陣列中的能力。

檢視範例

相關 API 元素



公用屬性
 屬性定義自
 Inheritedconstructor : Object
類別物件的參照或是特定物件實體的建構函數。
Object
  length : uint
一個非負的整數,用來指定陣列中的元素數目。
Array
公用方法
 方法定義自
  
Array(... values)
可讓您建立包含指定之元素的陣列。
Array
  
Array(numElements:int = 0)
可讓您建立具有指定之元素數目的陣列。
Array
  
將參數中指定的元素和陣列中的元素連接,並建立新的陣列。
Array
  
every(callback:Function, thisObject:* = null):Boolean
對陣列中的每個項目執行測試函數,直到抵達針對指定之函數傳回 false 的項目為止。
Array
  
filter(callback:Function, thisObject:* = null):Array
針對陣列中的每個項目執行測試函數,並為針對指定之函數傳回 true 的所有項目建構新的陣列。
Array
  
forEach(callback:Function, thisObject:* = null):void
會針對陣列中的每個項目執行函數。
Array
 Inherited
指出物件是否有已定義的指定屬性。
Object
  
indexOf(searchElement:*, fromIndex:int = 0):int
使用嚴謹相等 (===) 在陣列中搜尋某個項目,並傳回該項目的索引位置。
Array
  
insertAt(index:int, element:*):void
將單一元素插入陣列。
Array
 Inherited
指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。
Object
  
會將陣列中的元素轉換成字串、在元素之間插入指定的分隔符號、連接元素,然後傳回最後產生的字串。
Array
  
lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int
在陣列中搜尋某個項目 (會從最後一個項目回移),並使用嚴謹相等 (===) 傳回符合之項目的索引位置。
Array
  
map(callback:Function, thisObject:* = null):Array
會針對陣列中的每個項目執行函數,並建構新的項目陣列,其中的項目會對應於原始陣列中每個項目的函數執行結果。
Array
  
pop():*
會移除陣列中的最後一個元素,並傳回該元素的值。
Array
 Inherited
指出指定的屬性是否存在,以及是否可列舉。
Object
  
push(... args):uint
在陣列結尾加入一個或多個元素,並傳回新的陣列長度。
Array
  
removeAt(index:int):*
從陣列中移除單一元素。
Array
  
在原地將陣列反轉。
Array
 Inherited
為迴圈作業設定動態屬性的可用性。
Object
  
移除陣列中的第一個元素,並傳回該元素。
Array
  
slice(startIndex:int = 0, endIndex:int = 16777215):Array
傳回新的陣列 (此新陣列是由原始陣列的元素範圍所組成),但是不會修改原始陣列。
Array
  
some(callback:Function, thisObject:* = null):Boolean
對陣列中的每個項目執行測試函數,直到抵達傳回 true 的項目為止。
Array
  
sort(... args):Array
對陣列中的元素進行排序。
Array
  
sortOn(fieldName:Object, options:Object = null):Array
根據陣列中的一個或多個欄位,對陣列中的元素進行排序。
Array
  
splice(startIndex:int, deleteCount:uint, ... values):Array
在陣列中增加和移除元素。
Array
  
會傳回字串,此字串代表指定之陣列中的元素。
Array
  
會傳回字串,此字串代表指定之陣列中的元素。
Array
  
在陣列開頭加入一個或多個元素,並傳回新的陣列長度。
Array
 Inherited
會傳回指定之物件的基本值。
Object
公用常數
 常數定義自
  CASEINSENSITIVE : uint = 1
[靜態] 會針對 Array 類別排序方法指定不區分大小寫的排序方式。
Array
  DESCENDING : uint = 2
[靜態] 會針對 Array 類別排序方法指定遞減排序方式。
Array
  NUMERIC : uint = 16
[靜態] 會針對 Array 類別排序方法指定數字 (而非字元字串) 排序方式。
Array
  RETURNINDEXEDARRAY : uint = 8
[靜態] 會指定排序傳回由陣列索引所組成的陣列。
Array
  UNIQUESORT : uint = 4
[靜態] 會針對 Array 類別排序方法指定唯一的排序需求。
Array
屬性詳細資訊

length

屬性
length:uint

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

一個非負的整數,用來指定陣列中的元素數目。 如果在陣列中增加新的元素,會自動更新這個屬性。 當您指定值給陣列元素 (例如,my_array[index] = value) 時,如果 index 是數字,而且 index+1 大於 length 屬性,則會將 length 屬性更新為 index+1

注意:如果您將某個值指定給比現有長度還要短的 length 屬性,此陣列便會遭到截斷。



實作
    public function get length():uint
    public function set length(value:uint):void

範例  ( 如何使用本範例 )
下列程式碼會建立包含字串元素 Bill 的 Array 物件 names。 然後該物件會使用 push() 方法加入另一個字串元素 Kyle。 在使用 push() 之前,此陣列的長度 (由 length 屬性所決定) 為一個元素,而在呼叫 push() 之後則變成兩個元素。 另一個字串 Jeff 加入之後,names 的長度變成三個元素。 然後會呼叫 shift() 方法兩次來移除 BillKyle,讓最後的 length 陣列變成一個元素。
var names:Array = new Array("Bill");
names.push("Kyle");
trace(names.length); // 2

names.push("Jeff");
trace(names.length); // 3

names.shift();
names.shift();
trace(names.length); // 1
建構函式詳細資料

Array

()建構函式
public function Array(... values)

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

可讓您建立包含指定之元素的陣列。 您可以指定任何類型的值。 陣列中的第一個元素永遠都有 0 的索引 (或位置)。

注意:此類別會顯示兩個建構函式項目,因為該建構函式能接受變數類型的引數。 如每個項目中所詳述,此建構函式會根據傳遞之引數的類型與數目而有不同的行為。 ActionScript 3.0 並不支援方法或建構函式多載。

參數
... values — 一個或多個任意值的逗號分隔清單。

注意:如果只將單一數值參數傳遞給 Array 建構函式,就會假定它要指定陣列的 length 屬性。


擲回值
RangeError — 此引數是大於或等於 0 的非整數數字。

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會建立初始長度為 3 的新 Array 物件、將字串元素 onetwothree 填入此陣列中,然後將這些元素轉換為字串。
package {
    import flash.display.Sprite;

    public class Array_Array_3 extends Sprite {

        public function Array_Array_3() {
            var myArr:Array = new Array("one", "two", "three");
            trace(myArr.length); // 3
            trace(myArr);          // one,two,three
        }
    }
}

Array

()建構函式 
public function Array(numElements:int = 0)

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

可讓您建立具有指定之元素數目的陣列。 如果不指定任何參數,則會建立含有 0 個元素的陣列。 如果您指定元素的數目,便會建立具有 numElements 個元素的陣列。

注意:此類別會顯示兩個建構函式方法項目,因為該建構函式能接受變數類型的引數。 如每個項目中所詳述,此建構函式會根據傳遞之引數的類型與數目而有不同的行為。 ActionScript 3.0 並不支援方法或建構函式多載。

參數
numElements:int (default = 0) — 用來指定陣列中元素數目的整數。

擲回值
RangeError — 此引數是大於或等於 0 的非整數數字。

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會建立 Array 物件 myArr,不含任何引數且初始長度為 0:
package {
    import flash.display.Sprite;

    public class Array_Array extends Sprite {

        public function Array_Array() {
            var myArr:Array = new Array();
            trace(myArr.length); // 0
        }
    }
}

下列範例會建立包含 5 個初始元素且長度為 5 的 Array 物件,並將字串 "one" 填入第一個元素中,然後使用 push() 方法將字串元素 "six" 加入到陣列的結尾:
package {
    import flash.display.Sprite;

    public class Array_Array_2 extends Sprite {

        public function Array_Array_2() {
            var myArr:Array = new Array(5);
            trace(myArr.length); // 5
            myArr[0] = "one";
            myArr.push("six");
            trace(myArr);         // one,,,,,six
            trace(myArr.length); // 6
        }
    }
}
方法詳細資訊

concat

()方法
AS3 function concat(... args):Array

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

將參數中指定的元素和陣列中的元素連接,並建立新的陣列。 如果參數指定陣列,便會連接該陣列的元素。如果您沒有傳遞任何參數,新的陣列便會是原始陣列的重製副本 (陰影副本)。

參數

... args — 要在新陣列中連接之任何資料類型 (如數字、元素或字串) 的值。

傳回值
Array — 陣列,包含此陣列的元素,並後接參數中的元素。

範例  ( 如何使用本範例 )

下列程式碼會建立四個 Array 物件:
  • numbers 陣列,其中包含數字 123
  • letters 陣列,其中包含字母 abc
  • numbersAndLetters 陣列,它會呼叫 concat() 方法以產生陣列 [1,2,3,a,b,c]
  • lettersAndNumbers 陣列,它會呼叫 concat() 方法以產生陣列 [a,b,c,1,2,3]
var numbers:Array = new Array(1, 2, 3);
var letters:Array = new Array("a", "b", "c");
var numbersAndLetters:Array = numbers.concat(letters);
var lettersAndNumbers:Array = letters.concat(numbers);

trace(numbers);       // 1,2,3
trace(letters);       // a,b,c
trace(numbersAndLetters); // 1,2,3,a,b,c
trace(lettersAndNumbers); // a,b,c,1,2,3

every

()方法 
AS3 function every(callback:Function, thisObject:* = null):Boolean

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會對陣列中的每一個項目執行測試函數,直到抵達針對指定之函數傳回 false 的項目為止。 您可以使用此方法,判斷陣列中的所有項目是否都符合準則,例如具有小於特定數字的值。

對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:

     function myFunction(obj:Object):void {
        //your code here
     }
     

假設您接著對名稱為 myArray 的陣列使用 every() 方法:

     myArray.every(myFunction, me);
     

由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:

     var myFunction:Function = function(obj:Object):void {
         //your code here
     };
     myArray.every(myFunction, me);
     

參數

callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的比較 (例如,item < 20) 或是較複雜的操作,而且必須搭配三個引數 (項目的值、項目的索引和 Array 物件) 加以叫用:
function callback(item:*, index:int, array:Array):Boolean;
 
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。

傳回值
Boolean — 如果陣列中的所有項目都針對指定的函數傳回 true,則 Boolean 值為 true,否則為 false

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會測試兩個陣列,以便判斷每個陣列中的每個項目是否都是數字。 此範例也會輸出測試的結果,顯示 isNumeric 對第一個陣列的測試結果為 true,而對第二個陣列的測試結果則為 false
package {
    import flash.display.Sprite;
    public class Array_every extends Sprite {
        public function Array_every() {
            var arr1:Array = new Array(1, 2, 4);
            var res1:Boolean = arr1.every(isNumeric);
            trace("isNumeric:", res1); // true
 
            var arr2:Array = new Array(1, 2, "ham");
            var res2:Boolean = arr2.every(isNumeric);
            trace("isNumeric:", res2); // false
        }
        private function isNumeric(element:*, index:int, arr:Array):Boolean {
            return (element is Number);
        }
    }
}

filter

()方法 
AS3 function filter(callback:Function, thisObject:* = null):Array

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

針對陣列中的每個項目執行測試函數,並為針對指定之函數傳回 true 的所有項目建構新的陣列。 如果某個項目傳回 false,則新的陣列中不會包括該項目。

對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:

     function myFunction(obj:Object):void {
        //your code here
     }
     

然後假設您針對名為 myArray 的陣列使用 filter() 方法:

 
     myArray.filter(myFunction, me);
     

由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:

     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.filter(myFunction, me);
     

參數

callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的比較 (例如,item < 20) 或是較複雜的操作,而且必須搭配三個引數 (項目的值、項目的索引和 Array 物件) 加以叫用:
    function callback(item:*, index:int, array:Array):Boolean;
 
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。

傳回值
Array — 新的陣列,其中包含了原始陣列中傳回 true 的所有項目。

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會建立所有身分為經理之員工的陣列:
package {
    import flash.display.Sprite;
    public class Array_filter extends Sprite {
        public function Array_filter() {
            var employees:Array = new Array();
            employees.push({name:"Employee 1", manager:false});
            employees.push({name:"Employee 2", manager:true});
            employees.push({name:"Employee 3", manager:false});
            trace("Employees:");
            employees.forEach(traceEmployee);
            
            var managers:Array = employees.filter(isManager);
            trace("Managers:");
            managers.forEach(traceEmployee);
        }
        private function isManager(element:*, index:int, arr:Array):Boolean {
            return (element.manager == true);
        }
        private function traceEmployee(element:*, index:int, arr:Array):void {
            trace("\t" + element.name + ((element.manager) ? " (manager)" : ""));
        }
    }
}

forEach

()方法 
AS3 function forEach(callback:Function, thisObject:* = null):void

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會針對陣列中的每個項目執行函數。

對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:

     function myFunction(obj:Object):void {
        //your code here
     }
     

假設您接著對名稱為 myArray 的陣列使用 forEach() 方法:

     myArray.forEach(myFunction, me);
     

由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:

     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.forEach(myFunction, me);
     

參數

callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的命令 (例如,trace() 陳述式) 或是較複雜的作業,而且會以三個引數 (項目的值、項目的索引及 Array 物件) 加以叫用:
    function callback(item:*, index:int, array:Array):void;
 
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。


範例  ( 如何使用本範例 )

下列範例會針對陣列中的每個項目,執行 traceEmployee() 函數中的 trace() 陳述式:
package {
    import flash.display.Sprite;
    public class Array_forEach extends Sprite {
        public function Array_forEach() {
            var employees:Array = new Array();
            employees.push({name:"Employee 1", manager:false});
            employees.push({name:"Employee 2", manager:true});
            employees.push({name:"Employee 3", manager:false});
            trace(employees);
            employees.forEach(traceEmployee);
        }
        private function traceEmployee(element:*, index:int, arr:Array):void {
            trace(element.name + " (" + element.manager + ")");
        }
    }
}

下列範例也會針對陣列中的每個項目,執行稍加修改過之 traceEmployee() 函數中的 trace() 陳述式:
package {
    import flash.display.Sprite;
    public class Array_forEach_2 extends Sprite {
        public function Array_forEach_2() {
            var employeeXML:XML = <employees>
                    <employee name="Steven" manager="false" />
                    <employee name="Bruce" manager="true" />
                    <employee name="Rob" manager="false" />
                </employees>;
            var employeesList:XMLList = employeeXML.employee;
            var employeesArray:Array = new Array();
            for each (var tempXML:XML in employeesList) {
                employeesArray.push(tempXML);
            }
            employeesArray.sortOn("@name");
            employeesArray.forEach(traceEmployee);
        }
        private function traceEmployee(element:*, index:Number, arr:Array):void {
            trace(element.@name + ((element.@manager == "true") ? " (manager)" : ""));
        }
    }
}

indexOf

()方法 
AS3 function indexOf(searchElement:*, fromIndex:int = 0):int

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會使用嚴謹相等 (===) 在陣列中搜尋某個項目,並傳回該項目的索引位置。

參數

searchElement:* — 要在陣列中尋找的項目。
 
fromIndex:int (default = 0) — 要在陣列中開始搜尋項目的位置。

傳回值
int — 此項目在陣列中的索引位置 (從零開始)。 如果找不到 searchElement 引數,傳回值會是 -1。

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會顯示指定之陣列的位置:
package {
    import flash.display.Sprite;
    public class Array_indexOf extends Sprite {
        public function Array_indexOf() {
            var arr:Array = new Array(123,45,6789);
            arr.push("123-45-6789");
            arr.push("987-65-4321");
            
            var index:int = arr.indexOf("123");
            trace(index); // -1
            
            var index2:int = arr.indexOf(123);
            trace(index2); // 0
        }
    }
}

insertAt

()方法 
AS3 function insertAt(index:int, element:*):void

語言版本: ActionScript 3.0
執行階段版本: Flash Player 19, AIR 19

將單一元素插入陣列。這個方法會修改陣列,但是不會製作副本。

參數

index:int — 整數,指定陣列中要插入元素的位置。您可以使用負整數,指定相對於陣列結尾的位置 (例如,-1 是陣列的最後一個元素)。
 
element:*

join

()方法 
AS3 function join(sep:*):String

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會將陣列中的元素轉換成字串、在元素之間插入指定的分隔符號、連接元素,然後傳回最後產生的字串。 巢狀的陣列永遠是用逗號 (,) 來分隔,而不是用傳遞給 join() 方法的分隔符號來分隔。

參數

sep:* (default = NaN) — 在傳回的字串中分隔陣列元素的字元或字串。 如果省略這個參數,便會使用逗號做為預設分隔符號。

傳回值
String — 字串,由轉換成字串的陣列元素組成,並以指定的參數分隔。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會使用 join() 方法來建立包含元素 onetwothree 的 Array 物件 myArr 以及包含 one and two and three 的字串。
var myArr:Array = new Array("one", "two", "three");
var myStr:String = myArr.join(" and ");
trace(myArr); // one,two,three
trace(myStr); // one and two and three

下列程式碼會建立包含元素 ()- 和空格的 Array 物件 specialChars,然後建立包含 (888) 867-5309 的字串。 然後藉由使用 for 迴圈,它會移除 specialChars 中所列的每一個特殊字元類型,以產生只包含其餘電話號碼數字的字串 (myStr):888675309。請注意其他字元 (如 +) 原本可能已經加入到 specialChars,然後這個常式會處理國際電話號碼格式。
var phoneString:String = "(888) 867-5309";

var specialChars:Array = new Array("(", ")", "-", " ");
var myStr:String = phoneString;

var ln:uint = specialChars.length;
for(var i:uint; i < ln; i++) {
    myStr = myStr.split(specialChars[i]).join("");
}

var phoneNumber:Number = new Number(myStr);

trace(phoneString); // (888) 867-5309
trace(phoneNumber); // 8888675309

lastIndexOf

()方法 
AS3 function lastIndexOf(searchElement:*, fromIndex:int = 0x7fffffff):int

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會在陣列中搜尋某個項目 (從最後一個項目往回移),並使用嚴謹相等 (===) 傳回符合之項目的索引位置。

參數

searchElement:* — 要在陣列中尋找的項目。
 
fromIndex:int (default = 0x7fffffff) — 要在陣列中開始搜尋項目的位置。 預設值是索引可允許的最大值。 如果沒有指定 fromIndex,搜尋便會從陣列中的最後一個項目開始。

傳回值
int — 此項目在陣列中的索引位置 (從零開始)。 如果找不到 searchElement 引數,傳回值會是 -1。

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會顯示指定之陣列的位置:
package {
    import flash.display.Sprite;
    public class Array_lastIndexOf extends Sprite {
        public function Array_lastIndexOf() {
            var arr:Array = new Array(123,45,6789,123,984,323,123,32);
            
            var index:int = arr.indexOf(123);
            trace(index); // 0
            
            var index2:int = arr.lastIndexOf(123);
            trace(index2); // 6
        }
    }
}

map

()方法 
AS3 function map(callback:Function, thisObject:* = null):Array

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會針對陣列中的每個項目執行函數,並建構新的項目陣列,其中的項目會對應於原始陣列中每個項目的函數執行結果。

對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:

     function myFunction(obj:Object):void {
        //your code here
     }
     

假設您接著對名稱為 myArray 的陣列使用 map() 方法:

     myArray.map(myFunction, me);
     

由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:

     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.map(myFunction, me);
     

參數

callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的命令 (例如,變更字串陣列的大小寫) 或更複雜的作業,而且會搭配三個引數 (項目的值、項目的索引,以及 Array 物件) 加以叫用:
    function callback(item:*, index:int, array:Array):String;
 
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。

傳回值
Array — 新的陣列,其中包含原始陣列中每個項目的函數執行結果。

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會將陣列中的所有項目變更為使用大寫字母:
package {
    import flash.display.Sprite;
    public class Array_map extends Sprite {
        public function Array_map() {
            var arr:Array = new Array("one", "two", "Three");
            trace(arr); // one,two,Three

            var upperArr:Array = arr.map(toUpper);
            trace(upperArr); // ONE,TWO,THREE
        }
        private function toUpper(element:*, index:int, arr:Array):String {
            return String(element).toUpperCase();
        }
    }
}

pop

()方法 
AS3 function pop():*

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會移除陣列中的最後一個元素,並傳回該元素的值。

傳回值
* — 指定之陣列中最後一個元素 (可以是任何資料類型) 的值。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立包含元素 abc 的 Array 物件 letters。 然後會使用 pop() 方法,從此陣列中移除最後一個元素 (c),然後將它指定給 String 物件 letter
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
var letter:String = letters.pop();
trace(letters); // a,b
trace(letter);     // c

push

()方法 
AS3 function push(... args):uint

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

在陣列結尾加入一個或多個元素,並傳回新的陣列長度。

參數

... args — 要附加至陣列的一個或多個值。

傳回值
uint — 整數,代表新陣列的長度。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立空的 Array 物件 letters,然後使用 push() 方法將元素 abc 填入此陣列中。
var letters:Array = new Array();

letters.push("a");
letters.push("b");
letters.push("c");

trace(letters.toString()); // a,b,c

下列程式碼會建立 Array 物件 letters,此物件一開始會填入元素 a。 然後會使用 push() 方法一次,將元素 bc 加入到此陣列的結尾,也就是推入之後有三個元素。
var letters:Array = new Array("a");
var count:uint = letters.push("b", "c");

trace(letters); // a,b,c
trace(count);   // 3

removeAt

()方法 
AS3 function removeAt(index:int):*

語言版本: ActionScript 3.0
執行階段版本: Flash Player 19, AIR 19

從陣列中移除單一元素。這個方法會修改陣列,但是不會製作副本。

參數

index:int — 整數,用以指定陣列中要刪除之元素的索引。您可以使用負整數,指定相對於陣列結尾的位置 (例如,-1 是陣列的最後一個元素)。

傳回值
* — 要從原始陣列中移除的元素。

reverse

()方法 
AS3 function reverse():Array

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

在原地將陣列反轉。

傳回值
Array — 新的陣列。

範例  ( 如何使用本範例 )

下列程式碼會建立包含元素 abc 的 Array 物件 letters。 然後會使用 reverse() 方法反轉陣列元素的順序,以產生陣列 [c,b,a]
var letters:Array = new Array("a", "b", "c");
trace(letters); // a,b,c
letters.reverse();
trace(letters); // c,b,a

shift

()方法 
AS3 function shift():*

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

移除陣列中的第一個元素,並傳回該元素。 剩餘的陣列元素會從其原始位置 i 移到 i-1。

傳回值
* — 陣列中的第一個元素 (可以是任何資料類型)。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立包含元素 abc 的 Array 物件 letters。 然後會使用 shift() 方法從 letters 中移除第一個元素 (a),並將它指定給字串 firstLetter
var letters:Array = new Array("a", "b", "c");
var firstLetter:String = letters.shift();
trace(letters);     // b,c
trace(firstLetter); // a

slice

()方法 
AS3 function slice(startIndex:int = 0, endIndex:int = 16777215):Array

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

傳回新的陣列 (此新陣列是由原始陣列的元素範圍所組成),但是不會修改原始陣列。 傳回的陣列包含 startIndex 元素及其後的所有元素,但是不包含 endIndex 元素。

如果您沒有傳遞任何參數,新的陣列便會是原始陣列的重製副本 (陰影副本)。

參數

startIndex:int (default = 0) — 數字,指定片段開始點的索引。 如果 startIndex 為負值,表示起點是從陣列的結尾開始,而 -1 就是指最後一個元素。
 
endIndex:int (default = 16777215) — 數字,指定片段結束點的索引。 如果您省略這個參數,這個片段就會包含從陣列開始點到陣列結束點的所有元素。 如果 endIndex 為負值,表示指定的終點是在陣列的結尾,而 -1 就是指最後一個元素。

傳回值
Array — 陣列,由來自原始陣列的元素範圍組成。

範例  ( 如何使用本範例 )

下列程式碼會建立包含元素 [a,b,c,d,e,f] 的 Array 物件 letters。 然後會建立陣列 someLetters,其方式是針對元素一 (b) 到元素三 (d) 呼叫 slice() 方法,然後會產生包含元素 bc 的陣列。
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(1,3);

trace(letters);     // a,b,c,d,e,f
trace(someLetters); // b,c

下列程式碼會建立包含元素 [a,b,c,d,e,f] 的 Array 物件 letters,然後會針對元素二 (c) 呼叫 slice() 方法來建立陣列 someLetters,於是便產生包含元素 [c,d,e,f] 的陣列。
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(2);

trace(letters);     // a,b,c,d,e,f
trace(someLetters); // c,d,e,f

下列程式碼會建立包含元素 [a,b,c,d,e,f] 的 Array 物件 letters。 然後會針對倒數第二個元素 (e) 呼叫 slice() 方法來建立陣列 someLetters,如此便產生包含元素 ef 的陣列。
var letters:Array = new Array("a", "b", "c", "d", "e", "f");
var someLetters:Array = letters.slice(-2);

trace(letters);     // a,b,c,d,e,f
trace(someLetters); // e,f

some

()方法 
AS3 function some(callback:Function, thisObject:* = null):Boolean

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會對陣列中的每個項目執行測試函數,直到抵達傳回 true 的項目為止。 您可以使用此方法,判斷陣列中的所有項目是否符合準則,例如具有小於特定數字的值。

對於此方法而言,如果第一個參數 callback 是方法結束項,第二個參數 thisObject 就必須是 null。假設您在影片片段中建立名為 me 的函數:

     function myFunction(obj:Object):void {
        //your code here
     }
     

假設您接著對名稱為 myArray 的陣列使用 some() 方法:

     myArray.some(myFunction, me);
     

由於 myFunction 是 Timeline 類別的成員,不能由 me 覆寫,Flash 執行階段便會擲出例外。您可以將此函數指定給變數,以避免這項執行階段錯誤,如下所示:

     var myFunction:Function = function(obj:Object):void {
         //your code here
         };
     myArray.some(myFunction, me);
     

參數

callback:Function — 要針對陣列中每一個項目執行的函數。 此函數可以包含簡單的比較 (例如,item < 20) 或是較複雜的操作,而且必須搭配三個引數 (項目的值、項目的索引和 Array 物件) 加以叫用:
    function callback(item:*, index:int, array:Array):Boolean;
 
thisObject:* (default = null) — 要用來當做函數之 this 使用的物件。

傳回值
Boolean — 如果陣列中有任何項目針對指定的函數傳回 true,則 Boolean 值為 true,否則為 false

相關 API 元素


範例  ( 如何使用本範例 )

下列範例會顯示哪些是未定義的值:
package {
    import flash.display.Sprite;
    public class Array_some extends Sprite {
        public function Array_some() {
            var arr:Array = new Array();
            arr[0] = "one";
            arr[1] = "two";
            arr[3] = "four";
            var isUndef:Boolean = arr.some(isUndefined);
            if (isUndef) {
                trace("array contains undefined values: " + arr);
            } else {
                trace("array contains no undefined values.");
            }
        }
        private function isUndefined(element:*, index:int, arr:Array):Boolean {
            return (element == undefined);
        }
    }
}

sort

()方法 
AS3 function sort(... args):Array

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

對陣列中的元素進行排序。 此方法會根據 Unicode 值進行排序。(ASCII 是 Unicode 的子集)。

根據預設,Arraysort() 的運作方式如下所示:

  • 排序動作有區分大小寫 (Z 位於 a 之前)。
  • 以遞增方式排序 (a 位於 b 之前)。
  • 陣列會遭到修改,以反映出排序順序;具有相同排序欄位的多個元素會被連續置於排序陣列中 (不會依照特定順序)。
  • 所有的元素,無論屬於何種資料類型,都會如字串般排序。所以 100 會在 99 之前,因為 "1" 是比 "9" 低的字串值。

若不使用預設設定來排序陣列,您可以使用 ...args 參數說明之 sortOptions 部分所描述的其中一個排序選項,或是建立自訂的函數以進行排序。 如果您建立自訂函數,您便可以在呼叫 sort() 方法時,使用自訂函數的名稱做為第一個引數 (compareFunction)。

參數

... args — 引數,用以指定比較函數及決定排序行為的一個或多個值。

這個方法會使用 Array.sort(compareFunction, sortOptions) 的語法和引數順序,其引數定義如下:

  • compareFunction - 用來決定陣列中元素排序順序的比較函數, 此為選擇性引數。 比較函數必須使用兩個引數以進行比較。 在指定元素 A 和 B 的情況下,compareFunction 的結果可能為負值、0 或正值:
    • 負的傳回值指示 A 在排序序列中出現在 B 的前面。
    • 傳回值 0 指示 A 和 B 的排序順序相同。
    • 正的傳回值指示 A 在排序序列中出現在 B 的後面。
  • sortOptions - 一個或多個數字或是已定義的常數 (以 | (位元 OR) 運算子分隔),會改變預設的排序行為, 此為選擇性引數。 以下為可接受的 sortOptions 值:
    • 1 或 Array.CASEINSENSITIVE
    • 2 或 Array.DESCENDING
    • 4 或 Array.UNIQUESORT
    • 8 或 Array.RETURNINDEXEDARRAY
    • 16 或 Array.NUMERIC
    如需詳細資訊,請參閱 Array.sortOn() 方法。

傳回值
Array — 傳回的值會視您是否有傳遞任何參數而定,如下列清單中所述:
  • 如果您為 ...args 參數之 sortOptions 引數指定的值是 4 或 Array.UNIQUESORT,而且有兩個或更多的排序元素具有相同的排序欄位,Flash 便會傳回 0 的值,而且不會修改陣列。
  • 如果您為 ...args 參數之 sortOptions 引數指定的值是 8 或 Array.RETURNINDEXEDARRAY,Flash 便會傳回已排序的索引數字陣列,以反映排序的結果,而且不會修改陣列。
  • 否則,Flash 將不會傳回任何值,並會對陣列進行修改,以反映排序順序。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立包含元素 [spinach, green pepper, cilantro, onion, avocado] 的 Array 物件 vegetables。 然後會由 sort() 方法來排序此陣列 (呼叫此方法時不含任何參數)。 結果會是依字母順序排序的 vegetables ([avocado, cilantro, green pepper, onion, spinach])。
var vegetables:Array = new Array("spinach",
                 "green pepper",
                 "cilantro",
                 "onion",
                 "avocado");

trace(vegetables); // spinach,green pepper,cilantro,onion,avocado
vegetables.sort();
trace(vegetables); // avocado,cilantro,green pepper,onion,spinach

下列程式碼會建立包含元素 [spinach, green pepper, Cilantro, Onion, and Avocado] 的 Array 物件 vegetables。 然後會由 sort() 方法來排序此陣列 (第一次呼叫此方法時不含任何參數);結果會是 [Avocado,Cilantro,Onion,green pepper,spinach]。 然後會再次針對 vegetables 呼叫 sort() (使用 CASEINSENSITIVE 常數當做參數)。 結果會是依字母順序排序的 vegetables ([Avocado, Cilantro, green pepper, Onion, spinach])。
var vegetables:Array = new Array("spinach",
                 "green pepper",
                 "Cilantro",
                 "Onion",
                 "Avocado");

vegetables.sort();
trace(vegetables); // Avocado,Cilantro,Onion,green pepper,spinach
vegetables.sort(Array.CASEINSENSITIVE);
trace(vegetables); // Avocado,Cilantro,green pepper,Onion,spinach

下列程式碼會建立空的 Array 物件 vegetables,然後透過 push() 的五個呼叫來填入。 每次呼叫 push() 時,Vegetable() 建構函式的呼叫就會建立新的 Vegetable 物件,此建構函式可接受 String (name) 和 Number (price) 物件。 以下列陣列結果中所顯示的值呼叫 push() 五次:[lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]。然後再使用 sort() 方法來排序陣列,以產生陣列 [asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));

trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44

vegetables.sort();

trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44

//The following code defines the Vegetable class
class Vegetable {
    private var name:String;
    private var price:Number;

    public function Vegetable(name:String, price:Number) {
        this.name = name;
        this.price = price;
    }

    public function toString():String {
        return " " + name + ":" + price;
    }
}

下列範例與上一個範例完全相同,例外的一點是 sort() 方法會搭配自訂排序函數 (sortOnPrice) 使用,此函數會根據價格 (而非字母順序) 來排序。 請注意,新的函數 getPrice() 會擷取價格。
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));

trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44

vegetables.sort(sortOnPrice);

trace(vegetables);
// celery:1.29, squash:1.44, lettuce:1.49, spinach:1.89, asparagus:3.99

function sortOnPrice(a:Vegetable, b:Vegetable):Number {
    var aPrice:Number = a.getPrice();
    var bPrice:Number = b.getPrice();

    if(aPrice > bPrice) {
        return 1;
    } else if(aPrice < bPrice) {
        return -1;
    } else  {
        //aPrice == bPrice
        return 0;
    }
}

// The following code defines the Vegetable class and should be in a separate package.
class Vegetable {
    private var name:String;
    private var price:Number;

    public function Vegetable(name:String, price:Number) {
        this.name = name;
        this.price = price;
    }

    public function getPrice():Number {
        return price;
    }

    public function toString():String {
        return " " + name + ":" + price;
    }
}

下列程式碼會建立包含元素 [3,5,100,34,10] 的 Array 物件 numbers。 呼叫 sort() 時如果不含任何參數,則會以字母順序排序,而產生不想要的結果 [10,100,3,34,5]。 若要適當排序數值,您必須將常數 NUMERIC 傳遞給 sort() 方法,此方法會排序 numbers,如下所示:[3,5,10,34,100]

注意: sort() 函數的預設行為是將每個實體當做字串處理。 如果您使用 Array.NUMERIC 引數,Flash 執行階段會為了進行排序而將任何非數字的值轉換成整數。如果失敗,執行階段會擲出錯誤。例如,執行階段可以將 "6" 的字串值成功轉換成整數,但是如果遇到值為 "six" 的字串值,則會擲出錯誤。

var numbers:Array = new Array(3,5,100,34,10);

trace(numbers); // 3,5,100,34,10
numbers.sort();
trace(numbers); // 10,100,3,34,5
numbers.sort(Array.NUMERIC);
trace(numbers); // 3,5,10,34,100

sortOn

()方法 
AS3 function sortOn(fieldName:Object, options:Object = null):Array

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

根據陣列中的一個或多個欄位,對陣列中的元素進行排序。 陣列應該會具有下列特性:

  • 此陣列是索引陣列,而不是關聯陣列。
  • 陣列的每個元素都保留具有一個或多個屬性的物件。
  • 所有物件至少都具有一個相同的屬性,其值可用來排序陣列。 這樣的屬性稱為 field

若您傳遞多個 fieldName 參數,則第一個欄位代表的是主要排序欄位,第二個欄位代表的是次要排序欄位,其他依此類推。Flash 會根據 Unicode 值進行排序。(ASCII 是 Unicode 的子集)。 如果比較的任一個元素中,都未包含 fieldName 參數中指定的欄位,會假設該欄位設定為 undefined,並且會將元素連續置於排序的陣列中 (不依照特定順序)。

根據預設,ArraysortOn() 的運作方式如下所示:

  • 排序動作有區分大小寫 (Z 位於 a 之前)。
  • 以遞增方式排序 (a 位於 b 之前)。
  • 陣列會遭到修改,以反映出排序順序;具有相同排序欄位的多個元素會被連續置於排序陣列中 (不會依照特定順序)。
  • 數值欄位會視為字串進行排序,因此 100 位於 99 之前,因為 "1" 是位於 "9" 之前的字串值。

Flash Player 7 中加入了 options 參數,可以用來覆寫預設的排序行為。 若要對簡單陣列 (例如,只有一個欄位的陣列) 進行排序,或者要指定 options 參數不支援的某種排序順序,請使用 Array.sort()

若要傳遞多個旗標,請使用位元 OR (|) 運算子來加以分隔:

     my_array.sortOn(someFieldName, Array.DESCENDING | Array.NUMERIC);
     

Flash Player 8 加入的功能是在排序多個欄位時為每個欄位指定不同的排序選項。 在 Flash Player 8 及更新版本中,options 參數會接受排序選項的陣列,因此每個排序選項都會對應至 fieldName 參數中的排序欄位。 下列範例會使用遞減排序來排序主要排序欄位 a、使用數值排序來排序次要排序欄位 b,並使用不區分大小寫排序來排序第三位排序欄位 c

     Array.sortOn (["a", "b", "c"], [Array.DESCENDING, Array.NUMERIC, Array.CASEINSENSITIVE]);
     

注意: fieldNameoptions 陣列必須具有相同的元素數目,否則會忽略 options 陣列。 此外,Array.UNIQUESORTArray.RETURNINDEXEDARRAY 選項只能用來當做陣列的第一個元素,否則便會忽略這些選項。

參數

fieldName:Object — 字串,可識別要當做排序值使用的欄位,或是陣列,其中第一個元素代表主要排序欄位,第二個元素則代表次要排序欄位,其他依此類推。
 
options:Object (default = null) — 一個或多個數字或已定義的常數名稱 (以 bitwise OR (|) 運算子分隔),會變更排序行為。 下列為 options 參數可接受的值:
  • Array.CASEINSENSITIVE 或 1
  • Array.DESCENDING 或 2
  • Array.UNIQUESORT 或 4
  • Array.RETURNINDEXEDARRAY 或 8
  • Array.NUMERIC 或 16

若您採用的是旗標的字串形式 (例如 DESCENDING) 而非數值形式 (2),則程式碼提示可能將會啟用。

傳回值
Array — 傳回的值會視您是否有傳遞任何參數而定:
  • 若您為 options 參數指定的值是 4 或 Array.UNIQUESORT,並且有兩個或更多的排序元素具有相同的排序欄位,則會傳回 0,而且不會修改該陣列。
  • 若您為 options 參數指定的值是 8 或 Array.RETURNINDEXEDARRAY,則會傳回反映排序結果的陣列,而且不會修改該陣列。
  • 否則,將不會傳回任何值,並會對陣列進行修改,以反映排序順序。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立空的 Array 物件 vegetables,然後使用 push() 的五個呼叫來填入此陣列。 每次呼叫 push() 時,就會藉由呼叫 Vegetable() 建構函式來建立新的 Vegetable 物件,此建構函式可接受 String (name) 和 Number (price) 物件。 以下列陣列結果中所顯示的值呼叫 push() 五次。 [lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44]。接著,sortOn() 方法會搭配 name 參數使用,以產生下列陣列:[asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44]。會再次使用價格參數及 NUMERIC 和 DESCENDING 常數 (用來產生以遞減數字順序排序的陣列) 來呼叫 sortOn() 方法:[asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29]
var vegetables:Array = new Array();
vegetables.push(new Vegetable("lettuce", 1.49));
vegetables.push(new Vegetable("spinach", 1.89));
vegetables.push(new Vegetable("asparagus", 3.99));
vegetables.push(new Vegetable("celery", 1.29));
vegetables.push(new Vegetable("squash", 1.44));

trace(vegetables);
// lettuce:1.49, spinach:1.89, asparagus:3.99, celery:1.29, squash:1.44

vegetables.sortOn("name");
trace(vegetables);
// asparagus:3.99, celery:1.29, lettuce:1.49, spinach:1.89, squash:1.44

vegetables.sortOn("price", Array.NUMERIC | Array.DESCENDING);
trace(vegetables);
// asparagus:3.99, spinach:1.89, lettuce:1.49, squash:1.44, celery:1.29

class Vegetable {
    public var name:String;
    public var price:Number;

    public function Vegetable(name:String, price:Number) {
        this.name = name;
        this.price = price;
    }

    public function toString():String {
        return " " + name + ":" + price;
    }
}

下列程式碼會建立空的 Array 物件 records,然後使用 push() 的三個呼叫來填入此陣列。 每次呼叫 push() 時,就會將 namecity 字串及 zip 編號加入到 records。 然後使用三個 for 迴圈列印出陣列元素。 第一個 for 迴圈會以元素加入的順序列印元素。 第二個 for 迴圈會在已經使用 sortOn() 方法,先依據名稱再依據城市來排序 records 之後執行。 第三個 for 迴圈會產生不同的輸出,因為會先根據城市再依據名稱重新排序 records

var records:Array = new Array();
records.push({name:"john", city:"omaha", zip:68144});
records.push({name:"john", city:"kansas city", zip:72345});
records.push({name:"bob", city:"omaha", zip:94010});

for(var i:uint = 0; i < records.length; i++) {
    trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, omaha
// john, kansas city
// bob, omaha

trace("records.sortOn('name', 'city');");
records.sortOn(["name", "city"]);
for(var i:uint = 0; i < records.length; i++) {
    trace(records[i].name + ", " + records[i].city);
}
// Results:
// bob, omaha
// john, kansas city
// john, omaha

trace("records.sortOn('city', 'name');");
records.sortOn(["city", "name"]);
for(var i:uint = 0; i < records.length; i++) {
    trace(records[i].name + ", " + records[i].city);
}
// Results:
// john, kansas city
// bob, omaha
// john, omaha

下列程式碼會建立空的 Array 物件 users,然後使用 push() 的四個呼叫來填入此陣列。 每次呼叫 push() 時,就會使用 User() 建構函式來建立 User 物件,並將 name 字串和 age uint 加入到使用者。 產生的陣列組會是 [Bob:3,barb:35,abcd:3,catchy:4]

然後會以下列方式排序陣列:

  1. 只依據名稱,產生陣列 [Bob:3,abcd:3,barb:35,catchy:4]
  2. 依據名稱及使用 CASEINSENSITIVE 常數,產生陣列 [abcd:3,barb:35,Bob:3,catchy:4]
  3. 依據名稱及使用 CASEINSENSITIVEDESCENDING 常數,產生陣列 [catchy:4,Bob:3,barb:35,abcd:3]
  4. 只依據年齡,產生陣列 [abcd:3,Bob:3,barb:35,catchy:4]
  5. 依據年齡及使用 NUMERIC 常數,產生陣列 [Bob:3,abcd:3,catchy:4,barb:35]
  6. 依據年齡及使用 DESCENDINGNUMERIC 常數,產生陣列 [barb:35,catchy:4,Bob:3,abcd:3]

然後會建立名為 indices 的陣列,並根據年齡及使用 NUMERICRETURNINDEXEDARRAY 常數來指定排序結果,如此會產生陣列 [Bob:3,abcd:3,catchy:4,barb:35],然後會使用 for 迴圈列印出此陣列。

class User {
    public var name:String;
    public var age:Number;
    public function User(name:String, age:uint) {
        this.name = name;
        this.age = age;
    }

    public function toString():String {
        return this.name + ":" + this.age;
    }
}

var users:Array = new Array();
users.push(new User("Bob", 3));
users.push(new User("barb", 35));
users.push(new User("abcd", 3));
users.push(new User("catchy", 4));

trace(users); // Bob:3,barb:35,abcd:3,catchy:4

users.sortOn("name");
trace(users); // Bob:3,abcd:3,barb:35,catchy:4

users.sortOn("name", Array.CASEINSENSITIVE);
trace(users); // abcd:3,barb:35,Bob:3,catchy:4

users.sortOn("name", Array.CASEINSENSITIVE | Array.DESCENDING);
trace(users); // catchy:4,Bob:3,barb:35,abcd:3

users.sortOn("age");
trace(users); // abcd:3,Bob:3,barb:35,catchy:4

users.sortOn("age", Array.NUMERIC);
trace(users); // Bob:3,abcd:3,catchy:4,barb:35

users.sortOn("age", Array.DESCENDING | Array.NUMERIC);
trace(users); // barb:35,catchy:4,Bob:3,abcd:3

var indices:Array = users.sortOn("age", Array.NUMERIC | Array.RETURNINDEXEDARRAY);
var index:uint;
for(var i:uint = 0; i < indices.length; i++) {
    index = indices[i];
    trace(users[index].name, ": " + users[index].age);
}

// Results:
// Bob : 3
// abcd : 3
// catchy : 4
// barb : 35

splice

()方法 
AS3 function splice(startIndex:int, deleteCount:uint, ... values):Array

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

在陣列中增加和移除元素。 這個方法會修改陣列,但是不會製作副本。

注意: 若要在 Array 的子類別中覆寫此方法,請使用 ...args 做為參數,如以下範例所示:

     public override function splice(...args) {
       // your statements here
     }
     

參數

startIndex:int — 整數,用以指定陣列中插入或刪除開始位置之元素的索引。 您可以使用負整數,指定相對於陣列結尾的位置 (例如,-1 是陣列的最後一個元素)。
 
deleteCount:uint — 整數,指定要刪除的元素數目。 這個數字會包含 startIndex 參數中所指定的元素。 如果您沒有指定 deleteCount 參數的值,此方法便會刪除此陣列中從 startIndex 元素到最後一個元素的所有值。 如果這個值為 0,則不會刪除任何元素。
 
... values — 含有一個或多個逗號分隔值的選擇性清單,以便將其插入此陣列中 startIndex 參數所指定的位置。如果輸入的值屬於 Array 類型,則這個陣列會保留不變並以單一元素的形式予以插入。例如,如果您將現有長度為 3 的陣列與另一個長度為 3 的陣列接合起來,則產生的陣列將只有 4 個元素。不過,其中一個元素會是長度為 3 的陣列。

傳回值
Array — 陣列,其中包含從原始陣列中移除的元素。

範例  ( 如何使用本範例 )

下列程式碼會建立包含元素 [spinach, green pepper, cilantro, onion, avocado] 的 Array 物件 vegetables。 然後會使用參數 2 和 2 呼叫 splice() 方法,此方法會將 cilantroonion 指定給 spliced 陣列。 然後 vegetables 陣列便會包含 [spinach,green pepper,avocado]。 會使用參數 1、0 和 spliced 陣列第二次呼叫 splice() 方法,將 [cilantro,onion] 指定為 vegetables 中的第二個元素。
var vegetables:Array = new Array("spinach",
                 "green pepper",
                 "cilantro",
                 "onion",
                 "avocado");

var spliced:Array = vegetables.splice(2, 2);
trace(vegetables); // spinach,green pepper,avocado
trace(spliced);    // cilantro,onion

vegetables.splice(1, 0, spliced);
trace(vegetables); // spinach,cilantro,onion,green pepper,avocado


請注意,cilantroonion 描出的形式就像 vegetables 有 5 個元素一樣,但是實際上只有四個 (第二個元素是另一個包含兩個元素的陣列)。 若要個別加入 cilantroonion,您會使用:
 
var vegetables:Array = new Array("spinach",
                 "green pepper",
                 "cilantro",
                 "onion",
                 "avocado");
 
 var spliced:Array = vegetables.splice(2, 2);
 trace(vegetables); // spinach,green pepper,avocado
 trace(spliced);    // cilantro,onion
 
 vegetables.splice(1, 0, "cilantro", "onion");
 trace(vegetables); // spinach,cilantro,onion,green pepper,avocado

toLocaleString

()方法 
public function toLocaleString():String

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會傳回字串,此字串代表指定之陣列中的元素。 陣列中的每一個元素 (從索引 0 開始,到最大的索引為止) 都會轉換成以逗號分隔的連接字串。 在 ActionScript 3.0 實作中,此方法會傳回與 Array.toString() 方法相同的值。

傳回值
String — 陣列元素的字串。

相關 API 元素

toString

()方法 
public function toString():String

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會傳回字串,此字串代表指定之陣列中的元素。 陣列中的每一個元素 (從索引 0 開始,到最大的索引為止) 都會轉換成以逗號分隔的連接字串。 若要指定自訂的分隔符號,請使用 Array.join() 方法。

傳回值
String — 陣列元素的字串。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立 Array、將值轉換成字串,並將其儲存在 String 資料類型的 vegnums 變數中。
var vegetables:Array = new Array();
vegetables.push(1);
vegetables.push(2);
vegetables.push(3);
vegetables.push(4);
vegetables.push(5);
var vegnums:String = vegetables.toString();
trace(vegnums+",6");
// 1,2,3,4,5,6

unshift

()方法 
AS3 function unshift(... args):uint

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

在陣列開頭加入一個或多個元素,並傳回新的陣列長度。 陣列中的其他元素都會從其原始位置 i 移動到 i+1。

參數

... args — 要在陣列開頭插入的一個或多個數字、元素或變數。

傳回值
uint — 整數,代表陣列的新長度。

相關 API 元素


範例  ( 如何使用本範例 )

下列程式碼會建立空的 Array 物件 namesBillJeff 字串會由 push() 方法加入,而 AlfredKyle 字串會由 unshift() 方法的兩個呼叫加入到 names 的開頭。
var names:Array = new Array();
names.push("Bill");
names.push("Jeff");

trace(names); // Bill,Jeff

names.unshift("Alfred");
names.unshift("Kyle");

trace(names); // Kyle,Alfred,Bill,Jeff
常數詳細資訊

CASEINSENSITIVE

常數
public static const CASEINSENSITIVE:uint = 1

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會針對 Array 類別排序方法指定不區分大小寫的排序方式。 您可以將這個常數用於 sort()sortOn() 方法中的 options 參數。

此常數的值為 1。

相關 API 元素

DESCENDING

常數 
public static const DESCENDING:uint = 2

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會針對 Array 類別排序方法指定遞減排序方式。 您可以將這個常數用於 sort()sortOn() 方法中的 options 參數。

此常數的值為 2。

相關 API 元素

NUMERIC

常數 
public static const NUMERIC:uint = 16

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會針對 Array 類別排序方法指定數字 (而非字元字串) 排序方式。 在 options 參數中包含此常數,會使 sort()sortOn() 方法將數字排序為數值,而非數值字元的字串。 如果不使用 NUMERIC 常數,排序便會將每個陣列元素視為字元字串,並以 Unicode 順序產生結果。

例如,假設陣列的值是 [2005, 7, 35],如果在 options 參數中「沒有」包含 NUMERIC 常數,排序的陣列會是 [2005, 35, 7],不過如果「有」包含 NUMERIC 常數,排序的陣列便會是 [7, 35, 2005]

這個常數只會套用到陣列中的數字,而不會套用到包含數值資料的字串,如 ["23", "5"]

此常數的值為 16。

相關 API 元素

RETURNINDEXEDARRAY

常數 
public static const RETURNINDEXEDARRAY:uint = 8

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會指定排序傳回由陣列索引所組成的陣列。 您可以針對 sort()sortOn() 方法中的 options 參數使用此常數,如此您就能存取陣列元素的多種檢視,同時原始陣列也不會遭到修改。

此常數的值為 8。

相關 API 元素

UNIQUESORT

常數 
public static const UNIQUESORT:uint = 4

語言版本: ActionScript 3.0
執行階段版本: AIR 1.0, Flash Player 9, Flash Lite 4

會針對 Array 類別排序方法指定唯一的排序需求。 您可以將這個常數用於 sort()sortOn() 方法中的 options 參數。 如果要排序的任何兩個元素或欄位有相同的值,唯一的排序選項就會終止排序。

此常數的值為 4。

相關 API 元素

ArrayExample.as

下列範例會建立一個新的 Array 物件 myArr,不含任何引數且初始長度為 0:
package {
    import flash.display.Sprite;

    public class ArrayExample extends Sprite {
        public function ArrayExample() {
            var myArr:Array = new Array();
            trace(myArr.length); // 0
        }
    }
}




[ X ]為什麼顯示英文?
「ActionScript 3.0 參考」的內容是以英文顯示

並非所有「ActionScript 3.0 參考」的內容都翻譯為所有語言。當語言元素未翻譯時,就會以英文顯示。例如,ga.controls.HelpBox 類別並沒有翻譯為任何語言。因此在參考的繁體中文版本中,ga.controls.HelpBox 類別就會以英文顯示。