diff --git a/src/functions.js b/src/functions.js index 697aefed..c62f41cc 100644 --- a/src/functions.js +++ b/src/functions.js @@ -1630,7 +1630,10 @@ const functions = (() => { for (var key in obj) { var func_args = hofFuncArgs(func, obj[key], key, obj); // invoke func - result.push(yield* func.apply(this, func_args)); + var val = yield* func.apply(this, func_args); + if(typeof val !== 'undefined') { + result.push(val); + } } return result; diff --git a/test/test-suite/groups/function-each/case002.json b/test/test-suite/groups/function-each/case002.json new file mode 100644 index 00000000..f49801cb --- /dev/null +++ b/test/test-suite/groups/function-each/case002.json @@ -0,0 +1,7 @@ +{ + "expr": "$each(function($v, $k) {$k[$v>2]})", + "data": { "a": 1, "b": 2, "c": 3, "d": 4 }, + "bindings": {}, + "result": ["c", "d"], + "unordered": true +}