权重列表,根据权重的由大到小进入插入。 具有两种item模式:

1. 默认,正常item,手动设置priority
2. self,读取item的priority属性

Properties

Events

Defined in: src\base\base.js:472
Module: Base

Constructor

priorityList

priorityList
(
  • [mode]
  • [defaultPriority=0]
)

Parameters:

nametypeflagdescription
[mode] String optional

item模式

[defaultPriority=0] Number optional

item模式

Example:

            var list = st.priorityList,
                result = [];

            //添加项
            list.add(1).add(0).add(10, 10).add(5, 5).add(-1, -1);

            //10为第一个
            expect(list.at(0)).toBe(10);


            //按优先级大到小循环
            list.each(function(item) {
                result.push(item);
            })

            expect(result + '').toBe('10,5,1,0,-1');

            result = [];

            //删除 item为1的项
            list.remove(function(item) {
                if (item === 1)
                //结束匹配
                    return "done";
            })

            //按优先级小到大循环
            list.each(true, function(item) {
                result.push(item);
            })

            expect(result + '').toBe('-1,0,5,10');

Methods

add

add
(
  • item
  • [priority]
)
chainable

执行回调

Parameters:

nametypeflagdescription
item Object

添加对象

[priority] Number optional

权重

at

at
(
  • index
)
Object

根据序号获取item

Parameters:

nametypeflagdescription
index Number

序号

Returns:

[Object]

返回item

clear

clear () chainable

清除所有项

each

each
(
  • [desc]
  • handler
)
chainable

循环列表方法,默认根据priority大到小

Parameters:

nametypeflagdescription
[desc] Boolean optional

是否降序,即根据priority由小到大

handler Function

循环处理函数

len

len () Number

获取列表长度

Returns:

[Number]

列表长度

remove

remove
(
  • filter
)
chainable

执行回调

Parameters:

nametypeflagdescription
filter Function

过滤函数,返回值:

  1. {boolean}:是否匹配;
  2. 'break' : 结束匹配;
  3. 'done' : 完成匹配
Top