priorityList Class
权重列表,根据权重的由大到小进入插入。 具有两种item模式:
1. 默认,正常item,手动设置priority
2. self,读取item的priority属性
Defined in:
Module: Base
src\base\base.js:472
Constructor
priorityList
priorityList
(
-
[mode]
-
[defaultPriority=0]
)
Parameters:
name | type | flag | description |
---|---|---|---|
[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:
name | type | flag | description |
---|---|---|---|
item
| Object | 添加对象 | |
[priority] |
Number | optional | 权重 |
at
at
(
-
index
)
Object
根据序号获取item
Parameters:
name | type | flag | description |
---|---|---|---|
index
| Number | 序号 |
Returns:
[Object]
返回item
clear
clear
()
chainable
清除所有项
each
each
(
-
[desc]
-
handler
)
chainable
循环列表方法,默认根据priority大到小
Parameters:
name | type | flag | description |
---|---|---|---|
[desc] |
Boolean | optional | 是否降序,即根据priority由小到大 |
handler
| Function | 循环处理函数 |
len
len
()
Number
获取列表长度
Returns:
[Number]
列表长度
remove
remove
(
-
filter
)
chainable
执行回调
Parameters:
name | type | flag | description |
---|---|---|---|
filter
| Function | 过滤函数,返回值:
|