【问题标题】:Lodash equivalent of hoek.reach (hapijs)?Lodash 相当于 hoek.reach (hapijs)?
【发布时间】:2015-03-12 18:16:49
【问题描述】:

Hoek.reach 解决了一个有趣且古老的 javascript 对象遍历问题:https://github.com/hapijs/hoek#reachobj-chain-options

例子:

var chain = 'a.b.c';
var obj = {a : {b : { c : 1}}};

Hoek.reach(obj, chain); // returns 1

我只想要 Hoek 的这个功能,别无其他。只是想知道这个功能是否在 Lodash 中?我快速浏览了 lodash 文档,但它似乎不存在。

试图弄清楚我是否有办法在不添加“hoek”作为我的部门的情况下做到这一点。感谢您的帮助!

【问题讨论】:

  • 为什么你认为这个问题不好?我会感谢 cmets 解决我的问题,以便我改进。

标签: javascript lodash hapijs


【解决方案1】:

你可以使用_.get():

var _ = require('lodash');

var chain = 'a.b.c';
var obj = {a : {b : { c : 1}}};

var result = _.get(obj, chain);

【讨论】:

    【解决方案2】:

    考虑使用 npm 模块 property-path,然后像这样将其添加为 lodash mixin

    var propPath = require('property-path')
      , _ = require('lodash')
      , obj = {a : {b : { c : 1}}}
      , chain = 'a.b.c'
    
    _.mixin({ 'reach': propPath.get })
    
    _.reach(obj, chain)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-09
      • 2015-05-12
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多