Skip to content

Commit 1c18875

Browse files
committed
fix #928: filterBy false
1 parent c61bd6d commit 1c18875

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

src/filters/array-filters.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ exports.filterBy = function (arr, search, delimiter, dataKey) {
1515
if (delimiter && delimiter !== 'in') {
1616
dataKey = delimiter
1717
}
18-
if (!search) {
18+
/* jshint eqeqeq: false */
19+
if (search == null) {
1920
return arr
2021
}
2122
// cast to lowercase string
@@ -82,4 +83,4 @@ function contains (val, search) {
8283
} else if (val != null) {
8384
return val.toString().toLowerCase().indexOf(search) > -1
8485
}
85-
}
86+
}

test/unit/specs/filters/filters_spec.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,10 @@ describe('Filters', function () {
126126
res = filter(arr, 'yoyo')
127127
expect(res.length).toBe(1)
128128
expect(res[0]).toBe(arr[2])
129+
// filter by false (#928)
130+
res = filter([{a:false},{b:true}], false)
131+
expect(res.length).toBe(1)
132+
expect(res[0].a).toBe(false)
129133
})
130134

131135
it('orderBy', function () {
@@ -201,4 +205,4 @@ function assertNumberAndFalsy (filter) {
201205
expect(filter(undefined)).toBe('')
202206
expect(filter(null)).toBe('')
203207
expect(filter(false)).toBe('')
204-
}
208+
}

0 commit comments

Comments
 (0)