as3 Array类的filter()方法的用法

filter()方法是Array类的一个方法,作用是对数组中的每一项执行一个回调函数,该方法需要两个参数,第一个callback就是回调函数,第二个参数thisObject 在官方API中注明必须为null,用作回调函数的this对象。

该方法返回的是一个执行了回调函数的新数组。

在函数有比较复杂的操作时,回调函数必须有三个参数,即项值,项索引和Array对象。

例如:

有个简单的Node类:

package com.graph
{
    /**
     * ...
     * @author me
     */
    public class Node
    {
        private var _name:String;
        
        public function Node(name:String)
        {
            this._name = name;
        }
        
        public function get name():String
        {
            return _name;
        }
        
        public function set name(value:String):void
        {
            _name = value;
        }
        
        public function toString():String
        {
            return _name;
        }
        
    }

}

 

/**

 *过滤一个数组中不符合条件的Node:

*/

private function filterArray(array:Array):Array
        {
            return array.filter(function(node:com.graph.Node, index:int, list:Array):Boolean
            {
                return node.name != "111";
            });
        }

 

/**

*测试

*/

private function test():void

{

    var arr:Array = [new com.graph.Node("32323"), new com.graph.Node("22323"), new com.graph.Node("111")];
            var newArr:Array = filterArray(arr);
            trace(newArr.join("-"));   //输出  32323-22323

}

 

需要注意的是:

    回调函数必须要有三个参数,第一个就是数组中的元数据,其他两个只是定义了而已。

转载于:https://www.cnblogs.com/chinayfhuang/p/3604942.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值