1

我有这个例子:

var data={
  city:{
    street:{
      houses:[]
    }
  }
}

alert(data.city.street.houses?.[0].person);

    var data={
      city:{
        street:{
          houses:[]
        }
      }
    }

    alert(data.city.street.houses?.[0].person);

这将显示一个错误,因为它不存在houses[0],我怎样才能避免出现错误但如果houses[0]确实存在,继续嵌套?

这样做,我收到错误:

在此处输入图像描述

我该怎么做?

4

1 回答 1

1

只需在数组项引用之后添加另一个链接运算符:

var data = {
  city: {
    street: {
      houses: []
    }
  }
}

let res = data.city.street.houses?.[0];
res = res != undefined ? res.person : 'no value';
console.log(res);

于 2021-10-12T02:56:13.460 回答