在lodash node.js中使用_.result(obj,' path')的意外结果?

时间:2015-05-26 19:53:32

标签: javascript node.js lodash

在node.js模块中使用lodash - 在var _ = require('lodash')的开头 - 我注意到_.result()使用字符串作为路径"a.b.c"的访问行为(使用多个等级),只返回undefined ......

所以我觉得被迫测试(在node.js内):

var obj = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }
                            , test1 = _.result(obj, 'a')
                            , test2 = _.result(obj, 'a[0].b.c2');
test1 = _.result(test1, '0')
test1 = _.result(test1, 'b')
test1 = _.result(test1, 'c2')

console.log('| 1:', test1, '| 2:', test2);

结果:| 1: 4 | 2: undefined

在webstorm中,我评估了文档'表达式_.result({ 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }, 'a[0].b.c2')它应该是4,而不是未定义,对吧? 参考:https://lodash.com/docs#result

为了确保我在这个插件中做了同样的事情 http://plnkr.co/edit/TcbH7zhyCPNdKIA34Va8

有人曾经面对过吗?这是一个已知的bug吗?或者,对我感到羞耻,这里有一个未被注意的细节?!

谢谢!

0 个答案:

没有答案