在其开发企业微信接口存在这么个数据展示
let testData = [{
// 可以包含property,当然也可以包含config或者不包含或者多个情况
property: {
control: 'Contact',
id: 'Contact-1585125229216',
title: [{
text: '签单人员',
lang: 'zh_CN'
}],
placeholder: [{
text: '',
lang: 'zh_CN'
}],
require: 1,
un_print: 1
},
config: {
// 这里面也可以是其他属性 也不同属性
contact: {
type: 'single',
mode: 'department'
}
}
},
{
property: {
control: 'Contact',
id: 'Contact-1585125246163',
title: [{
text: '签单部门',
lang: 'zh_CN'
}],
placeholder: [{
text: '',
lang: 'zh_CN'
}],
require: 1,
un_print: 1
}
}
]
for (const item of testData) {
console.log(item.config.contact.mode); // 这样会取不到值会报错
// 原因是在其循环时,当某个对象不存在item.config.contact===undefined
// 再去调用 item.config.contact.mode就会报错
// 所以需要加上一个判断
if(item.config){
// 如果嵌套多层有些对象属性有有些对象属性没有 则也需要判断
if(item.config.contact){
console.log(item.config.contact.mode) // 即可拿到值再做处理
}
}
}
问题不大,细节很重要