JavaScript 中如何实现对象属性链式取值?

javascript 中如何实现对象属性链式取值?

javascript 中实现对象属性链式取值

直接使用“。”符号实现链式取值在原生 javascript 中是不支持的,例如:

obj['a.b.c']
复制代码

这时可以使用 lodash 库来实现该功能,具体操作如下:

lodash 中提供了 get 方法,可以用来取值,该方法接受两个参数:

  • target: 要取值的对象
  • path: 要取值的属性路径,可以是字符串或数组

使用示例:

const obj = {
  a: {
    b: {
      c: 'value'
    }
  }
};

const value = _.get(obj, 'a.b.c');
console.log(value); // 输出:'value'
复制代码

在路径参数中,也可以使用数组来表示嵌套属性,例如:

const value = _.get(obj, ['a', 'b', 'c']);
console.log(value); // 输出:'value'
复制代码

get 方法还会自动处理不存在的属性,返回 undefined

以上就是JavaScript 中如何实现对象属性链式取值?的详细内容,更多请关注www.sxiaw.com其它相关文章!