在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吗?或者,对我感到羞耻,这里有一个未被注意的细节?!
谢谢!