# new Collection(collection)
集åˆç±»ç”¨æ¥å˜å‚¨ç›¸åŒç±»åž‹çš„项的数组,它为处ç†é›†åˆä¸çš„å…ƒç´ æä¾›äº†æœ‰ç”¨çš„实用方法,包括filter()ã€find()å’Œreduce()ç‰ã€‚
集åˆä¸çš„å…ƒç´ å¯ä»¥æ˜¯ä»»ä½•类型。例如,GraphicsLayer.graphics是å˜å‚¨åœ¨GraphicsLayerä¸çš„图形的集åˆã€‚您å¯ä»¥ä½¿ç”¨Collectionç±»ä¸çš„æ–¹æ³•æ¥æ·»åŠ ã€åˆ 除ã€é‡æ–°æŽ’åºæˆ–æ“作GraphicsLayerä¸çš„图形。
集åˆçš„å¦ä¸€ä¸ªç¤ºä¾‹æ˜¯Map.layers,它是æœå‹åœ°å›¾çš„集åˆã€‚
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
collection |
Array.<*> | æž„é€ å‚æ•°ï¼Œè¦ä¼ å…¥çš„å…ƒç´ æ•°ç»„ |
支æŒå¦‚下方法:
[1ã€æ·»åŠ ä¸€ä¸ªå…ƒç´ åˆ°é›†åˆä¸][2ã€æ·»åŠ ä¸€ä¸ªå…ƒç´ åˆ°é›†åˆä¸çš„æŒ‡å®šä½ç½®]
[3ã€æ·»åŠ å¤šä¸ªå…ƒç´ åˆ°é›†åˆä¸]
[4ã€æ·»åŠ å¤šä¸ªå…ƒç´ åˆ°é›†åˆä¸çš„æŒ‡å®šä½ç½®]
[5ã€è¿”å›žæŒ‡å®šä¸‹æ ‡å¤„çš„å…ƒç´ ]
[6ã€å…‹éš†å¹¶è¿”回一个新集åˆå¯¹è±¡]
[7ã€å°†ä¸€ä¸ªæ•°ç»„或者集åˆå¯¹è±¡é“¾æŽ¥åˆ°å½“å‰é›†åˆå¯¹è±¡æœ«å°¾]
[8ã€æ£€æµ‹æ•°ç»„æ‰€æœ‰å…ƒç´ æ˜¯å¦éƒ½ç¬¦åˆæŒ‡å®šæ¡ä»¶]
[9ã€é€šè¿‡ä¸€ä¸ªè¿‡æ»¤æ¡ä»¶ï¼ˆå‡½æ•°æä¾›ï¼‰æ¥è¿‡æ»¤å¹¶è¿”å›žå…ƒç´ ]
[10ã€è¿”回第一个符åˆè¿‡æ»¤æ¡ä»¶ï¼ˆå‡½æ•°æä¾›ï¼‰çš„å…ƒç´ ]
[11ã€è¿”回第一个符åˆè¿‡æ»¤æ¡ä»¶ï¼ˆå‡½æ•°æä¾›ï¼‰çš„å…ƒç´ çš„ä¸‹æ ‡]
[12ã€æ‰å¹³åŒ–一个集åˆå¯¹è±¡]
[13ã€å¯¹é›†åˆä¸çš„æ‰€æœ‰å…ƒç´ æ‰§è¡Œä¼ å…¥çš„å‡½æ•°]
[14ã€èŽ·å–æŒ‡å®šä¸‹æ ‡çš„å…ƒç´ ]
[15ã€åˆ¤æ–集åˆä¸æ˜¯å¦åŒ…å«è¯¥å…ƒç´ ]
[16ã€è¿”å›žå…ƒç´ åœ¨é›†åˆä¸çš„ä¸‹æ ‡]
[17ã€åˆ¤æ–集åˆä¸æ˜¯å¦åŒ…å«è¯¥å…ƒç´ -é€‰æ‹©èµ·å§‹ä¸‹æ ‡]
[18ã€åˆ¤æ–ä¼ å…¥çš„å¯¹è±¡æ˜¯å¦æ˜¯ä¸€ä¸ªé›†åˆå¯¹è±¡]
[19ã€é€šè¿‡ä¼ 入一个分隔符,将集åˆä¸çš„å…ƒç´ é€šè¿‡åˆ†éš”ç¬¦æ‹¼æŽ¥æˆä¸€ä¸ªå—符串并返回]
[20ã€ä»Žé›†åˆçš„æœ€æœ«å°¾å¼€å§‹ï¼Œå¯»æ‰¾è¯¥å…ƒç´ ï¼Œå¹¶è¿”å›žå…ƒç´ ä¸‹æ ‡]
[21ã€ä»Žé›†åˆçš„æœ€æœ«å°¾å¼€å§‹ï¼Œå¯»æ‰¾è¯¥å…ƒç´ ï¼Œå¹¶è¿”å›žå…ƒç´ ä¸‹æ ‡ - 指定起始é¢ä½ç½®]
[22ã€é€šè¿‡ä¸€ä¸ªé历函数æ¥é历该集åˆä¸‹çš„æ‰€æœ‰å…ƒç´ ,并返回一个新集åˆå¯¹è±¡]
[23ã€åˆ 除并返回集åˆçš„æœ€åŽä¸€ä¸ªå…ƒç´ ]
[25ã€æŽ¥æ”¶ä¸€ä¸ªå‡½æ•°åšä¸ºç´¯åŠ å™¨ï¼Œå°†é›†åˆä¸çš„æ¯ä¸€ä¸ªå…ƒç´ (ä¸‹æ ‡ä»Žå°åˆ°å¤§çš„顺åº)è¿›è¡Œç´¯åŠ ï¼Œæœ€åŽè¿”回一个对象]
[26ã€æŽ¥æ”¶ä¸€ä¸ªå‡½æ•°åšä¸ºç´¯åŠ å™¨ï¼Œå°†é›†åˆä¸çš„æ¯ä¸€ä¸ªå…ƒç´ (ä¸‹æ ‡ä»Žå¤§åˆ°å°çš„顺åº)è¿›è¡Œç´¯åŠ ï¼Œæœ€åŽè¿”回一个对象]
[27ã€åˆ é™¤ä¸€ä¸ªå…ƒç´ ï¼Œä»…ä¼šåˆ é™¤æ‰¾åˆ°çš„ç¬¬ä¸€ä¸ªå…ƒç´ ,å¹¶å‘é€åˆ 除事件]
[28ã€åˆ 除集åˆä¸çš„æ‰€æœ‰å…ƒç´ ï¼Œåˆ é™¤å®ŒæˆåŽä¼šå‘逿•°æ®å˜æ›´äº‹ä»¶]
[29ã€åˆ é™¤æŒ‡å®šä¸‹æ ‡çš„å…ƒç´ ]
[30ã€åˆ 除集åˆä¸çš„å¤šä¸ªå…ƒç´ ï¼Œåˆ é™¤å®ŒæˆåŽä¼šå‘逿•°æ®å˜æ›´äº‹ä»¶]
[31ã€å°†æŒ‡çš„å…ƒç´ è°ƒæ•´åˆ°é›†åˆä¸æŒ‡çš„ä¸‹æ ‡ä½ç½®]
[32ã€å°†é›†åˆå¯¹è±¡ä¸çš„å…ƒç´ å转,并返回新集åˆå¯¹è±¡]
[33ã€åˆ 除并返回集åˆçš„ç¬¬ä¸€ä¸ªå…ƒç´ ]
[34ã€æˆªå–集åˆä¸ä»Žstart开始到endä¸‹æ ‡çš„å…ƒç´ ï¼Œå¹¶è¿”å›žä¸€ä¸ªæ–°é›†åˆå¯¹è±¡]
[35ã€åˆ¤æ–集åˆå¯¹è±¡ä¸çš„å…ƒç´ æ˜¯å¦æ»¡è¶³è¿‡æ»¤æ¡ä»¶]
[36ã€é€šè¿‡ä¸€ä¸ªæŽ’åºå‡½æ•°æ¥å¯¹å½“å‰çš„集åˆè¿›è¡ŒæŽ’åºï¼Œä¹‹åŽè¿”回一个新集åˆå¯¹è±¡ï¼Œå‚考jsçš„sort函数]
[37ã€å‘集åˆä¸åˆ é™¤ä¸€ä¸ªå…ƒç´ ]
[38ã€å‘集åˆä¸æ·»åŠ ä¸€ä¸ªå…ƒç´ ]
[39ã€è¿”回集åˆå¯¹è±¡ä¸å…ƒç´ 组æˆçš„æ•°ç»„]
[40ã€å‘集åˆèµ·å§‹ä½ç½®æ·»åŠ ä¸€ä¸ªæˆ–å¤šä¸ªå…ƒç´ ]
[41ã€èŽ·å–集åˆä¸çš„æ‰€æœ‰å…ƒç´ 并返回一个数组]
[42ã€å޻除集åˆä¸çš„é‡å¤å…ƒç´ ]
[43ã€åˆ›å»ºå®žä¾‹]
示例
const collection = new Collection([1, 2, 3])
æˆå‘˜å˜é‡
æˆå‘˜å˜é‡æ¦‚è¿°
åç§° | 类型 | æè¿° |
---|---|---|
items |
Array.<any>
|
|
items |
Array.<any>
|
|
length |
Number
|
|
æˆå‘˜å˜é‡è¯¦æƒ…
方法
方法概述
åç§° | 返回值类型 | æè¿° |
---|---|---|
isCollection |
Boolean
|
|
add |
Collection
|
|
addMany |
|
|
all |
Array.<*>
|
|
at |
*
|
|
clone |
Collection
|
|
concat |
Collection
|
|
createInstance |
*
|
|
every |
Boolean
|
|
filter |
Collection
|
|
find |
*
|
|
findIndex |
Number
|
|
flatten |
Collection
|
|
forEach |
Collection
|
|
getItemAt |
*
|
|
includes |
Boolean
|
|
indexOf |
Number
|
|
join |
String
|
|
lastIndexOf |
Number
|
|
map |
Collection
|
|
pop |
*
|
|
push |
Collection
|
|
reduce |
*
|
|
reduceRight |
*
|
|
remove |
Boolean
|
|
removeAll |
|
|
removeAt |
*
|
|
removeMany |
Array.<*>
|
|
reorder |
|
|
reverse |
Collection
|
|
shift |
*
|
|
slice |
Collection
|
|
some |
Boolean
|
|
sort |
Collection
|
|
splice |
Collection
|
|
toArray |
Array
|
|
unique |
Collection
|
|
unshift |
|
|
方法详情
# static isCollection(item)
判æ–ä¼ å…¥çš„å¯¹è±¡æ˜¯å¦æ˜¯ä¸€ä¸ªé›†åˆå¯¹è±¡
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
item |
* | è¦åˆ¤æ–的对象 |
æ˜¯å¦æ˜¯é›†åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3])
const isCollection = Collection.isCollection(collection)
# add(item, index)
æ·»åŠ ä¸€ä¸ªå…ƒç´ åˆ°é›†åˆä¸
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
item |
* | è¦æ·»åŠ çš„å…ƒç´ |
index |
Number | æŒ‡çš„å…ƒç´ è¦æ·»åŠ çš„ä½ç½®ï¼Œå¦‚æžœä¸æŒ‡å®šï¼Œé»˜è®¤æ·»åŠ åˆ°é›†åˆæœ«å°¾ |
æ·»åŠ å®Œå…ƒç´ åŽçš„集åˆå¯¹è±¡
示例
const collection = new Collection()
collection.add({
key: 'value'
})
const collection = new Collection([1, 2, 3])
collection.add({
key: 'value'
}, 1)
# addMany(items, index)
æ·»åŠ å¤šä¸ªå…ƒç´ åˆ°é›†åˆä¸ï¼Œæ·»åŠ å®ŒæˆåŽä¼šå‘逿•°æ®å˜æ›´äº‹ä»¶
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
items |
Array.<*> | è¦æ·»åŠ çš„å¤šä¸ªå…ƒç´ |
index |
Number | æŒ‡çš„å…ƒç´ è¦æ·»åŠ çš„ä½ç½®ï¼Œå¦‚æžœä¸æŒ‡å®šï¼Œé»˜è®¤æ·»åŠ åˆ°é›†åˆæœ«å°¾ |
示例
const collection = new Collection()
collection.addMany([1, 2, 3])
const collection = new Collection([1, 2, 3])
collection.addMany([1, 2, 3], 2)
# all()
获å–集åˆä¸çš„æ‰€æœ‰å…ƒç´ 并返回一个数组
集åˆä¸å…ƒç´ æž„æˆçš„æ•°ç»„
示例
const collection = new Collection([1, 2, 3])
collection.all()
# at(index)
è¿”å›žæŒ‡å®šä¸‹æ ‡å¤„çš„å…ƒç´
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
index |
Number | å…ƒç´ ä¸‹æ ‡ï¼Œé»˜è®¤ä»Ž0开始,å…è®¸ä½¿ç”¨æ£æ•´æ•°å’Œè´Ÿæ•´æ•°ï¼Œè´Ÿæ•´æ•°ä»Žé›†åˆä¸çš„æœ€åŽä¸€ä¸ªå…ƒç´ 开始倒数 |
查询到的元ç´
示例
const collection = new Collection([1, 2, 3])
const item = collection.at(1)
# clone()
克隆并返回一个新集åˆå¯¹è±¡
克隆åŽçš„集åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3])
const cloneObj = collection.clone()
# concat(collection)
将一个数组或者集åˆå¯¹è±¡é“¾æŽ¥åˆ°å½“å‰é›†åˆå¯¹è±¡æœ«å°¾
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
collection |
Array | Collection | è¦é“¾æŽ¥çš„æ•°ç»„或者集åˆå¯¹è±¡ |
链接åŽçš„æ–°é›†åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3])
collection.concat([{'a': 1}, {'b': 2}])
collection.concat(new Collection([4, 5, 6]))
# createInstance(item)
创建实例,å¯ç”±åç±»é‡è½½
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
item |
* | è¦åˆ›å»ºçš„实例对象 |
创建的实例对象
# every(fn)
æ£€æµ‹æ•°ç»„æ‰€æœ‰å…ƒç´ æ˜¯å¦éƒ½ç¬¦åˆæŒ‡å®šæ¡ä»¶ï¼ˆé€šè¿‡å‡½æ•°æä¾›ï¼‰
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | 过滤æ¡ä»¶ |
是å¦å…¨éƒ¨æ»¡è¶³è¿‡æ»¤æ¡ä»¶
示例
const collection = new Collection([1, 2, 3])
const isNumber = collection.every(function(item) {
return typeof item === 'number'
})
# filter(fn)
通过一个过滤æ¡ä»¶ï¼ˆå‡½æ•°æä¾›ï¼‰æ¥è¿‡æ»¤å¹¶è¿”回元ç´
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | 过滤æ¡ä»¶ï¼Œå¦‚果过滤æ¡ä»¶ä¸æ˜¯å‡½æ•°ï¼Œåˆ™è¿”回undefined |
过滤åŽçš„æ–°é›†åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3, 4, 5])
const newCollection = collection.filter(function(item) {
return item > 2
})
# find(fn)
返回第一个符åˆè¿‡æ»¤æ¡ä»¶ï¼ˆå‡½æ•°æä¾›ï¼‰çš„å…ƒç´ ï¼Œå¦‚æžœæ²¡æ‰¾åˆ°åˆ™è¿”å›žundefined
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | 过滤æ¡ä»¶ï¼Œå¦‚果过滤æ¡ä»¶ä¸æ˜¯å‡½æ•°ï¼Œä¹Ÿè¿”回undefined |
第一个符åˆè¿‡æ»¤æ¡ä»¶çš„å…ƒç´
示例
const collection = new Collection([1, 2, 3, 4, 5])
const item = collection.find(function(item) {
return item > 2
})
# findIndex(fn)
返回第一个符åˆè¿‡æ»¤æ¡ä»¶ï¼ˆå‡½æ•°æä¾›ï¼‰çš„å…ƒç´ çš„ä¸‹æ ‡ï¼Œå¦‚æžœæ²¡æ‰¾åˆ°åˆ™è¿”å›ž-1
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | 过滤æ¡ä»¶ |
第一个符åˆè¿‡æ»¤æ¡ä»¶ï¼ˆå‡½æ•°æä¾›ï¼‰çš„å…ƒç´ çš„ä¸‹æ ‡
示例
const collection = new Collection([1, 2, 3, 4, 5])
const index = collection.findIndex(function(item) {
return item > 1
})
# flatten(fn)
æ‰å¹³åŒ–一个集åˆå¯¹è±¡ï¼Œé€šè¿‡ä¼ 入的æ‰å¹³åŒ–å‡½æ•°æ¥æŒ‡å®šè¦æ‰å¹³åŒ–çš„å¯¹è±¡æ•°ç»„ï¼Œç›´åˆ°æŒ‡å®šçš„å¯¹è±¡æ•°ç»„ä¸ºç©ºæˆ–è€…å…ƒç´ æ•°é‡ä¸º0,之åŽè¿”回一个新集åˆå¯¹è±¡
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | æ‰å¹³åŒ–å‡½æ•°ï¼Œé€šè¿‡è¯¥å‡½æ•°æ¥æŒ‡å®šè¦æ‰å¹³åŒ–çš„å¯¹è±¡æ•°ç»„ï¼Œå¦‚æžœè¯¥å‡½æ•°ä¸æ˜¯ä¸€ä¸ªå‡½æ•°å¯¹è±¡ï¼Œåˆ™è¿”回undefined |
æ‰å¹³åŒ–åŽçš„集åˆå¯¹è±¡
示例
const collection = new Collection([{
layers: [1, 2, 3]
},{
items: [4, 5, 6]
}])
const flatten = collection.flatten(function(item) {
return item.layers || item.items
})
# forEach(fn)
对集åˆä¸çš„æ‰€æœ‰å…ƒç´ æ‰§è¡Œä¼ å…¥çš„å‡½æ•°
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | é’ˆå¯¹å…ƒç´ çš„æ‰§è¡Œå‡½æ•°ï¼Œå‚考js数组的forEach方法 |
执行完函数åŽçš„集åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3])
collection.forEach(function(item) {
console.log("item:", item)
})
# getItemAt(index)
èŽ·å–æŒ‡å®šä¸‹æ ‡çš„å…ƒç´ ï¼Œæ²¡æ‰¾åˆ°åˆ™è¿”å›žundefined
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
index |
Number | å…ƒç´ ä¸‹æ ‡ |
è¯¥ä¸‹æ ‡ä¸‹çš„å…ƒç´
示例
const collection = new Collection([1, 2, 3])
const item = collection.getItemAt(1)
# includes(item)
判æ–集åˆä¸æ˜¯å¦åŒ…å«è¯¥å…ƒç´
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
item |
* | è¦æ£€æŸ¥çš„å…ƒç´ å¯¹è±¡ |
集åˆä¸æ˜¯å¦åŒ…å«è¯¥å…ƒç´
示例
const collection = new Collection([1, 2, 3])
const isInclude = collection.includes(2)
# indexOf(item, fromIndex)
è¿”å›žå…ƒç´ åœ¨é›†åˆä¸çš„ä¸‹æ ‡
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
item |
* | è¦åœ¨é›†åˆä¸å¯»æ‰¾çš„å…ƒç´ |
fromIndex |
Number | é€‰æ‹©èµ·å§‹ä¸‹æ ‡ï¼Œé»˜è®¤ä¸º0,å³ä»Žä½•处开始寻找 |
å…ƒç´ åœ¨é›†åˆä¸çš„ä¸‹æ ‡
示例
const item = {
'a': 1
}
const collection = new Collection([item, 2, 3])
const index = collection.indexOf(item)
const item = {
'a': 1
}
const collection = new Collection([item, 2, 3, item])
const index = collection.indexOf(item, 1)
# join(separator)
é€šè¿‡ä¼ å…¥ä¸€ä¸ªåˆ†éš”ç¬¦ï¼Œå°†é›†åˆä¸çš„å…ƒç´ é€šè¿‡åˆ†éš”ç¬¦æ‹¼æŽ¥æˆä¸€ä¸ªå—符串并返回
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
separator |
String | åˆ†å‰²ç¬¦å· |
拼接完æˆçš„å—符串
示例
const collection = new Collection([1, 2, 3])
const str = collection.join(',')
# lastIndexOf(item, fromIndex)
从集åˆçš„æœ€æœ«å°¾å¼€å§‹ï¼Œå¯»æ‰¾è¯¥å…ƒç´ ï¼Œå¹¶è¿”å›žå…ƒç´ ä¸‹æ ‡
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
item |
* | è¦å¯»æ‰¾çš„å…ƒç´ |
fromIndex |
Number | 从何处开始查找,默认为集åˆçš„长度-1 |
ç¬¬ä¸€ä¸ªæ‰¾åˆ°çš„å…ƒç´ ä¸‹æ ‡ï¼Œæœªæ‰¾åˆ°åˆ™è¿”å›ž-1
示例
const collection = new Collection([1, 2, 3])
const index = collection.lastIndexOf(3)
const collection = new Collection([1, 2, 3, 3, 3])
const index = collection.lastIndexOf(3, 3)
# map(fn)
通过一个é历函数æ¥é历该集åˆä¸‹çš„æ‰€æœ‰å…ƒç´ ,并返回一个新集åˆå¯¹è±¡
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | é历函数 |
é历åŽçš„æ–°é›†åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3])
const newCollection = collection.map(function (item) {
return item + 1
})
# pop()
åˆ é™¤å¹¶è¿”å›žé›†åˆçš„æœ€åŽä¸€ä¸ªå…ƒç´
集åˆçš„æœ€åŽä¸€ä¸ªå…ƒç´
示例
const collection = new Collection([1, 2, 3])
const item = collection.pop()
# push(item)
æ·»åŠ ä¸€ä¸ªå…ƒç´ åˆ°é›†åˆä¸
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
item |
* | è¦æ·»åŠ çš„å…ƒç´ |
æ·»åŠ å®Œå…ƒç´ åŽçš„集åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3])
collection.push(4)
# reduce(fn, baseValue)
接收一个函数åšä¸ºç´¯åŠ å™¨ï¼Œå°†é›†åˆä¸çš„æ¯ä¸€ä¸ªå…ƒç´ (ä¸‹æ ‡ä»Žå°åˆ°å¤§çš„顺åº)è¿›è¡Œç´¯åŠ ï¼Œæœ€åŽè¿”回一个对象
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | ç´¯åŠ å™¨å‡½æ•° |
baseValue |
* | ç´¯åŠ çš„åŸºç¡€å¯¹è±¡ |
ç´¯åŠ åŽçš„对象
示例
const collection = new Collection([1, 2, 3])
const sum = collection.reduce(function (reduceCarry, item) {
return reduceCarry += item
}, 0)
# reduceRight(fn, baseValue)
接收一个函数åšä¸ºç´¯åŠ å™¨ï¼Œå°†é›†åˆä¸çš„æ¯ä¸€ä¸ªå…ƒç´ (ä¸‹æ ‡ä»Žå¤§åˆ°å°çš„顺åº)è¿›è¡Œç´¯åŠ ï¼Œæœ€åŽè¿”回一个对象
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | ç´¯åŠ å™¨å‡½æ•° |
baseValue |
* | ç´¯åŠ çš„åŸºç¡€å¯¹è±¡ |
ç´¯åŠ åŽçš„对象
示例
const collection = new Collection([1, 2, 3])
const sum = collection.reduce(function (reduceCarry, item) {
console.log(item)
})
# remove(item)
åˆ é™¤ä¸€ä¸ªå…ƒç´ ï¼Œä»…ä¼šåˆ é™¤æ‰¾åˆ°çš„ç¬¬ä¸€ä¸ªå…ƒç´ ,å¹¶å‘é€åˆ 除事件
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
item |
* | è¦åˆ é™¤çš„å…ƒç´ |
å…ƒç´ æ˜¯å¦åˆ 除æˆåŠŸ
示例
const collection = new Collection([1, 2, 3])
collection.remove(1)
# removeAll()
åˆ é™¤é›†åˆä¸çš„æ‰€æœ‰å…ƒç´ ï¼Œåˆ é™¤å®ŒæˆåŽä¼šå‘逿•°æ®å˜æ›´äº‹ä»¶
示例
const collection = new Collection([1, 2, 3])
collection.removeAll(1)
# removeAt(index)
åˆ é™¤æŒ‡å®šä¸‹æ ‡çš„å…ƒç´
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
index |
Number | å…ƒç´ çš„ä¸‹æ ‡ï¼Œä»Ž0开始 |
åˆ é™¤åŽçš„å…ƒç´
示例
const collection = new Collection([1, 2, 3])
collection.removeAt(1)
# removeMany(items)
åˆ é™¤é›†åˆä¸çš„å¤šä¸ªå…ƒç´ ï¼Œåˆ é™¤å®ŒæˆåŽä¼šå‘逿•°æ®å˜æ›´äº‹ä»¶
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
items |
Array.<*> | è¦æ·»åŠ çš„å¤šä¸ªå…ƒç´ |
è¢«åˆ é™¤çš„å…ƒç´
示例
const collection = new Collection([1, 2, 3])
collection.removeMany([1, 2])
# reorder(item, index)
å°†æŒ‡çš„å…ƒç´ è°ƒæ•´åˆ°é›†åˆä¸æŒ‡çš„ä¸‹æ ‡ä½ç½®
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
item |
* | è¦æŽ’åºçš„å…ƒç´ |
index |
Number | å…ƒç´ è¦è°ƒæ•´åˆ°çš„ä½ç½® |
示例
const collection = new Collection([1, 2, 3])
collection.reorder(1, 2)
# reverse()
将集åˆå¯¹è±¡ä¸çš„å…ƒç´ å转,并返回新集åˆå¯¹è±¡
新的集åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3])
const newCollection = collection.reverse()
# shift()
åˆ é™¤å¹¶è¿”å›žé›†åˆçš„ç¬¬ä¸€ä¸ªå…ƒç´ ï¼ˆå…ƒç´ ä¸‹æ ‡ä¸º0)
集åˆçš„第一个元ç´
示例
const collection = new Collection([1, 2, 3])
const item = collection.shift()
# slice(start, end)
截å–集åˆä¸ä»Žstart开始到endä¸‹æ ‡çš„å…ƒç´ ï¼Œå¹¶è¿”å›žä¸€ä¸ªæ–°é›†åˆå¯¹è±¡
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
start |
Number | 从0å¼€å§‹çš„å…ƒç´ å°æ ‡ |
end |
Number | æˆªè‡³çš„å…ƒç´ ä¸‹æ ‡ï¼Œä¸å¡«åˆ™é»˜è®¤åˆ°é›†åˆæœ€åŽä¸€ä¸ªå…ƒç´ |
新集åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3, 4, 5])
const newCollection = collection.slice(1, 3)
# some(fn)
判æ–集åˆå¯¹è±¡ä¸çš„å…ƒç´ æ˜¯å¦æ»¡è¶³è¿‡æ»¤æ¡ä»¶ï¼Œåªè¦æœ‰ä¸€ä¸ªå…ƒç´ 满足过滤æ¡ä»¶ï¼Œåˆ™ä¼šè¿”回trueï¼Œå¦‚æžœéƒ½ä¸æ»¡è¶³è¿‡æ»¤æ¡ä»¶ï¼Œåˆ™è¿”回false
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | 过滤æ¡ä»¶ï¼Œå¦‚果过滤æ¡ä»¶ä¸æ˜¯å‡½æ•°ï¼Œä¹Ÿè¿”回false |
æ˜¯å¦æ»¡è¶³è¿‡æ»¤æ¡ä»¶
示例
const collection = new Collection([1, 2, 3, 4, 5])
const flag = collection.some(function (item) {
return item === 1
})
# sort(fn)
通过一个排åºå‡½æ•°æ¥å¯¹å½“å‰çš„集åˆè¿›è¡ŒæŽ’åºï¼Œä¹‹åŽè¿”回一个新集åˆå¯¹è±¡ï¼Œå‚考jsçš„sort函数
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
fn |
function | 排åºå‡½æ•°ï¼Œä¸å¡«åˆ™é»˜è®¤æŒ‰ä»Žå°åˆ°è¾¾æŽ’åº |
新的集åˆå¯¹è±¡
示例
const collection = new Collection([{
'a': 2
},{
'a': 1
},{
'a': 3
}])
const newCollection = collection.sort(function (itemA, itemB) {
return itemA.a - itemB.a
})
# splice(start, deleteCount, …items)
å‘集åˆä¸åˆ é™¤æˆ–æ·»åŠ ä¸€ä¸ªå…ƒç´ ï¼Œå‚考jsçš„splice方法
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
start |
Number | åˆ é™¤æˆ–æ·»åŠ çš„èµ·å§‹ä¸‹æ ‡ |
deleteCount |
Number | åˆ é™¤æˆ–æ·»åŠ çš„æ•°é‡ |
items |
* | è¦åˆ é™¤æˆ–æ·»åŠ çš„å…ƒç´ |
新的集åˆå¯¹è±¡
示例
const collection = new Collection([1, 2, 3])
const newCollection = collection.splice(1, 1)
const collection = new Collection([1, 2, 3])
collection.splice(1, 0, 1)
# toArray()
返回集åˆå¯¹è±¡ä¸å…ƒç´ 组æˆçš„æ•°ç»„
集åˆå¯¹è±¡ä¸å…ƒç´ 组æˆçš„æ•°ç»„
示例
const collection = new Collection([1, 2, 3])
collection.toArray()
# unique(key)
去除集åˆä¸çš„é‡å¤å…ƒç´
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
key |
function | String | 指定一个去é‡å‡½æ•°æˆ–者è¦ç´ 的去é‡å—段 |
去é‡åŽçš„集åˆå¯¹è±¡
示例
No Arguments
const unique = new Collection([2, 1, 2, 3, 3, 4, 5, 1, 2]).unique();
console.log(unique); // [2, 1, 3, 4, 5]
Property Name
const students = new Collection([
{ name: 'Rick', grade: 'A'},
{ name: 'Mick', grade: 'B'},
{ name: 'Richard', grade: 'A'},
]);
// Students with unique grades.
students.unique('grade'); // [{ name: 'Rick', grade: 'A'}, { name: 'Mick', grade: 'B'}]
With Callback
const students = new Collection([
{ name: 'Rick', grade: 'A'},
{ name: 'Mick', grade: 'B'},
{ name: 'Richard', grade: 'A'},
]);
// Students with unique grades.
students.unique(s => s.grade); // [{ name: 'Rick', grade: 'A'}, { name: 'Mick', grade: 'B'}]
# unshift(…items)
å‘集åˆèµ·å§‹ä½ç½®æ·»åŠ ä¸€ä¸ªæˆ–å¤šä¸ªå…ƒç´
傿•°
åç§° | 类型 | æè¿° |
---|---|---|
items |
* | è¦æ·»åŠ çš„ä¸€ä¸ªæˆ–å¤šä¸ªå…ƒç´ |
示例
const collection = new Collection([1, 2, 3])
collection.unshift(1, 2)