问题描述
项目需要取一个嵌套对象的深层属性,而且有时这个对象有这些属性,有时没有这些属性,没有会报Undefine的错误,很麻烦。
如下图object。
var object = { 'a': { 'b': { 'c': 3 } }};
解决方案:
翻了好久,找到一个库,亲测有效。
直接看代码。
// 安装
// $ npm i -g npm
// $ npm i --save lodash
var _ = require('lodash');
var object = { 'a': { 'b': { 'c': 3 } }};
// 存在值
var existValue = _.get(object, 'a.b.c', 'default');
console.log('existValue:' + existValue)
// => 3
// 不存在值
var inexistValue = _.get(object, 'a.e', 'default');
console.log('inexistValue:' + inexistValue)
// => 'default'
用
$ npm i -g npm
$ npm i --save lodash
安装后即可使用。
_.get(对象, 属性路径, 默认值);
如果有会传回值,如果没有会传回默认值。
官网:
https://lodash.com/
https://lodash.com/docs/4.17.15#get