- 前言
- Lazy
- createWrapper
- generate
- range
- repeat
- strict
- Sequence
- define
- async
- chunk
- compact
- concat
- consecutive
- contains
- countBy
- dropWhile
- each
- equals
- every
- filter
- find
- findWhere
- first
- flatten
- get
- getIterator
- groupBy
- indexBy
- indexOf
- initial
- intersection
- invoke
- isEmpty
- join
- last
- lastIndexOf
- map
- max
- memoize
- min
- none
- ofType
- pluck
- reduce
- reduceRight
- reject
- rest
- reverse
- shuffle
- size
- some
- sort
- sortBy
- sortedIndex
- sum
- takeWhile
- tap
- toArray
- toObject
- union
- uniq
- where
- without
- zip
- ArrayLikeSequence
- define
- concat
- first
- get
- length
- map
- pop
- push
- rest
- reverse
- shift
- slice
- unshift
- ObjectLikeSequence
- define
- assign
- async
- defaults
- functions
- get
- invert
- keys
- merge
- omit
- pairs
- pick
- toArray
- toObject
- values
- watch
- StringLikeSequence
- define
- charAt
- charCodeAt
- contains
- endsWith
- first
- indexOf
- last
- lastIndexOf
- mapString
- match
- reverse
- split
- startsWith
- substring
- toLowerCase
- toUpperCase
- GeneratedSequence
- each
- length
- AsyncSequence
- contains
- each
- find
- getIterator
- indexOf
- Iterator
- current
- moveNext
- AsyncHandle
- cancel
- onComplete
- onError
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
sort
Creates a new sequence with the same elements as this one, but ordered using the specified comparison function.
This has essentially the same behavior as calling Array#sort
, but obviously instead of modifying the collection it returns a new Sequence object.
Signature
Sequence.sort = function(sortFn, descending) { /*...*/ }
Sequence.sort = function sort(sortFn, descending) { sortFn || (sortFn = compare); if (descending) { sortFn = reverseArguments(sortFn); } return new SortedSequence(this, sortFn); }
Name | Type(s) | Description |
---|---|---|
sortFn | Function? | The function used to compare elements in the sequence. The function will be passed two elements and should return:
|
descending | boolean | Whether or not the resulting sequence should be in descending order (defaults to |
returns | Sequence | The new sequence. |
Examples
Lazy([5, 10, 1]).sort() // sequence: [1, 5, 10] Lazy(['foo', 'bar']).sort() // sequence: ['bar', 'foo'] Lazy(['b', 'c', 'a']).sort(null, true) // sequence: ['c', 'b', 'a'] Lazy([5, 10, 1]).sort(null, true) // sequence: [10, 5, 1] // Sorting w/ custom comparison function Lazy(['a', 'ab', 'aa', 'ba', 'b', 'abc']).sort(function compare(x, y) { if (x.length && (x.length !== y.length)) { return compare(x.length, y.length); } if (x === y) { return 0; } return x > y ? 1 : -1; }); // => sequence: ['a', 'b', 'aa', 'ab', 'ba', 'abc']
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论