Problembeschreibung
Das Projekt muss die tiefen Attribute eines verschachtelten Objekts abrufen. Manchmal verfügt das Objekt über diese Attribute, manchmal nicht, und es wird kein Undefine-Fehler gemeldet, was sehr problematisch ist.
Wie unten gezeigtes Objekt.
var object = {
'a': {
'b': {
'c': 3 } }};
Lösung:
Nach langer Suche habe ich eine Bibliothek gefunden und sie selbst getestet und es hat funktioniert.
Schauen Sie sich einfach den Code an.
// 安装
// $ 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'
Verwenden Sie
$ npm i -g npm
$ npm i --save lodash,
um es zu installieren und zu verwenden.
_.get(对象, 属性路径, 默认值);
Wenn dies der Fall ist, wird ein Wert zurückgegeben; andernfalls wird ein Standardwert zurückgegeben.
Offizielle Website:
https://lodash.com/
https://lodash.com/docs/4.17.15#get