使用 Lodash \`_.get\` 使用括号表示法访问对象键

新手上路,请多包涵

我有以下

const key = 'foo';
const test = { foo: { bar: 23 } };

我想使用 lodash get 来访问 test[key].bar 的值。

我想在第一个指标上使用括号符号…

 _.get(test, '[key].bar'); // results in undefined

肯定有办法…

原文由 sfletche 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 448
2 个回答

您可以传递一个数组来定义评估路径。

这是解决您的问题的一个非常干净的解决方案:

 const test = {foo: {bar: 23}}
const key = 'foo'

console.log(_.get(test, [key, 'bar'])) // 23
 <script src='https://cdn.jsdelivr.net/lodash/4.16.6/lodash.min.js'></script>

原文由 TimoStaudinger 发布,翻译遵循 CC BY-SA 3.0 许可协议

您需要将 key 放入您的路径字符串中:

 _.get(test, key + '.bar');

在 ES2015 中,您可以使用 模板文字(内插字符串):

 _.get(test, `${key}.bar`);

原文由 joews 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题