8000 Merge pull request #1699 from Mat-Moo/dev · Mrluobo/vue@d7ef643 · GitHub
[go: up one dir, main page]

Skip to content

Commit d7ef643

Browse files
committed
Merge pull request vuejs#1699 from Mat-Moo/dev
Add offset facility to limit filter aka mysql limit
2 parents 474da3d + 6da832b commit d7ef643

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/filters/array-filters.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ var toArray = require('../directives/public/for')._postProcess
66
* Limit filter for arrays
77
*
88
* @param {Number} n
9+
* @param {Number} offset (Decimal expected)
910
*/
1011

11-
exports.limitBy = function (arr, n) {
12+
exports.limitBy = function (arr, n, offset) {
13+
offset = offset ? parseInt(offset, 10) : 0
1214
return typeof n === 'number'
13-
? arr.slice(0, n)
15+
? arr.slice(offset, offset + n)
1416
: arr
1517
}
1618

test/unit/specs/filters/filters_spec.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,13 @@ describe('Filters', function () {
116116
assertArray(res, [1, 2, 3])
117117
res = filter(arr, -1)
118118
assertArray(res, [1, 2])
119+
// with offsets, note offsets are 0 bound (as expected)
120+
res = filter(arr, 1, 1)
121+
assertArray(res, [2])
122+
res = filter(arr, 2, 1)
123+
assertArray(res, [2, 3])
124+
res = filter(arr, 1, 2)
125+
assertArray(res, [3])
119126
})
120127

121128
it('filterBy', function () {

0 commit comments

Comments
 (0)
0