我是这种JSON对象:
sections:
[
{
"id":1,
"title":"Description du projet",
"content":[
{
label:'Type de projet',
type:'select',
values:[
{
label:'Achat',
options:[
{
label:'Neuf'
},
{
label:'Neuf + travaux'
},
{
label:'Ancien'
},
{
label:'Ancien + travaux'
},
{
label:'Terrain'
},
{
label:'Terrain + construction'
}
]
},
我想检查"选项" 数组是否定义,以便在每种情况下构建不同的组件。
有可能吗?如果是,你可以告诉我怎么做?
提前谢谢
答案 0 :(得分:0)
从"部分"中迭代每个数组;直到"值",然后我们将在那里进行检查。请参阅以下代码:
sections.forEach(section =>{
section.content.forEach(c => {
c.values.forEach(value =>{
if (!value.options) {
// "options" array is undefined.
return;
}
// "options" array is defined, build different components here.
});
});
});
答案 1 :(得分:0)
您可以使用lodash执行所有未定义或存在的检查。查看库here
来到你的问题,使用lodash我会做这样的事情:
import _ from 'lodash';
let options = _.get(a, ['sections','0','content', '0', 'values', '0', 'options']);
if(!_.isUndefined(options)){
//do your stuff
}
您可以使用lodash以多种方式执行此操作。如果路径不存在,您还可以返回默认值。