5.4.2 The Enumerable object
优质
小牛编辑
138浏览
2023-12-01
Enumberable对象能够已更优雅的方式实现对列表样式的结构进行枚举。
很多其它的对象通过扩展自Enumberable对象来得到这些有用的接口。
Method | Kind | Arguments | Description |
each(iterator) | instance | iterator: a function object conforming to Function(value, index) | 把每个element做为第一个参数,element的index作为第一个参数调用iterator函数。 |
all([iterator]) | instance | iterator: a function object conforming to Function(value, index) | 这个函数会用给出的iterator测试整个集合,如果集合中任一元素在iterator函数测试中返回false或null,那么这个函数返回false,否则返回true。如果没有给出iterator,那么就会测试所有的元素是不是不等于false和null。你可以简单的把它看成是“检测每个元素都为非空非负”。 |
any(iterator) | instance | iterator: a function object conforming to Function(value, index), optional. | 这个函数会用给出的iterator测试整个集合,如果集合中任一元素在iterator函数测试中返回true,那么这个函数返回true,否则返回false。如果没有给出iterator,那么就会测试所有的元素是不是有一个不等于false和null。你可以简单的把它看成是“检测元素中是不是有非空非负的”。 |
collect(iterator) | instance | iterator: a function object conforming to Function(value, index) | 调用iterator函数根据集合中每个元素返回一个结果,然后按照原来集合中的顺序,返回一个Array。 |
detect(iterator) | instance | iterator: a function object conforming to Function(value, index) | 集合中每个元素调用一次Iterator,返回第一个使Iterator返回True的元素,如果最终都没有为true的调用,那么返回null。 |
entries() | instance | (none) | 等于toArray(). |
find(iterator) | instance | iterator: a function object conforming to Function(value, index) | 等于detect(). |
findAll(iterator) | instance | iterator: a function object conforming to Function(value, index) | 集合中每个元素调用Iterator,返回一个由所有调用Iterator返回结果等于true的元素组成的数组。和reject()相反。 |
grep(pattern [, iterator]) | instance | pattern: a RegExp object used to match the elements, iterator: a function object conforming to Function(value, index) | 用pattern参数正则表达式测试集合中的每个元素,返回一个包含所有匹配正则式的元素的Array,如果给出了Iterator,那个每个结果还要经过一下Iterator处理。 |
include(obj) | instance | obj: any object | 判断集合中包不包含指定对象。 |
inject(initialValue, iterator) | instance | initialValue: any object to be used as the initial value, iterator: a function object conforming to Function(accumulator, value, index) | 用Iterator联接所有集合中的元素。Iterator在被调用时把上一次迭代的结果做为第一个参数传给accumulator。第一次迭代时,accurmelator等于initialValue,最后返回accumulator的值。 |
invoke(methodName [, arg1 [, arg2 [...]]]) | instance | methodName: name of the method that will be called in each element, arg1..argN: arguments that will be passed in the method invocation. | 集合中的每个元素调用指定的函数(查看源代码可以发现指定函数被调用时,this指针被传成当前元素),并传入给出的参数,返回调用结果组成的Array。 |
map(iterator) | instance | iterator: a function object conforming to Function(value, index) | 同collect(). |
max([iterator]) | instance | iterator: a function object conforming to Function(value, index) | 返回集合中元素的最大值,或调用Iterator后返回值的最大值(如果给出了Iterator的话)。 |
member(obj) | instance | obj: any object | 同include(). |
min([iterator]) | instance | iterator: a function object conforming to Function(value, index) | 返回最小值,参见max()。 |
partition([iterator]) | instance | iterator: a function object conforming to Function(value, index) | 返回一个包含两个Array的Array,第一个Array包含所有调用Iterator返回True的元素,第二个Array包含剩下的元素。如果Iterator没有给出,那么就根据元素本身判断。 |
pluck(propertyName) | instance | propertyName name of the property that will be read from each element. This can also contain the index of the element | 返回每个元素的指定属性名的属性的值组成的Array。 |
reject(iterator) | instance | iterator: a function object conforming to Function(value, index) | 和 findAll()相反(返回所有等于false的元素). |
select(iterator) | instance | iterator: a function object conforming to Function(value, index) | 同findAll(). |
sortBy(iterator) | instance | iterator: a function object conforming to Function(value, index) | 根据每个元素调用Iterator返回的值进行排序返回一个Array。 |
toArray() | instance | (none) | 返回由集合所有元素组成的一个Array。 |
zip(collection1[, collection2 [, ... collectionN [,transform]]]) | instance | collection1 .. collectionN: enumerations that will be merged, transform: a function object conforming to Function(value, index) | 合并每个给出的集合到当前集合。合并操作返回一个新的array,这个array的元素个数和原集合的元素个数一样,这个array的每个元素又是一个子array,它合并了所有集合中相同index的元素。如果transform函数被指定,那么array的每个元素还会调用transform函数先做处理。举个例子: [1,2,3].zip([4,5,6], [7,8,9]).inspect() 返回"[ [1,4,7],[2,5,8],[3,6,9] ]" |