Javascript 从对象内部的数组中获取值

Javascript 从对象内部的数组中获取值,javascript,reactjs,Javascript,Reactjs,我有一个object,在他的组数组中,我试图从数组的元素中获取一些值,但总是得到错误。当我使用console.log(country.geoPosition)时,我可以看到数据,但无法访问为什么???我从获取数据创建对象 const [country, setCountry] = useState([{ item01:[], cityName:[], stateName:[], timeZone:[{ Code: "", GmtOffse

我有一个object,在他的组数组中,我试图从数组的元素中获取一些值,但总是得到错误。当我使用console.log(country.geoPosition)时,我可以看到数据,但无法访问为什么???我从获取数据创建对象

const [country, setCountry] = useState([{
    item01:[],
    cityName:[],
    stateName:[],
    timeZone:[{
      Code: "", 
      GmtOffset : ""
    }],
    geoPosition: [{
      latitude: "",
      longitude: ""
    }]
  }]);

setCountry(
      {
        item01:[data[0]], 
        cityName:[data[0].EnglishName],
        stateName:[data[0].Country.EnglishName],
        timeZone:[{
          Code: data[0].TimeZone.Code,
          GmtOffset : data[0].TimeZone.GmtOffset
        }],
        geoPosition:[{
          latitude : data[0].GeoPosition.Latitude,
          longitude : data[0].GeoPosition.Longitude
        }]

      });
  }

我尝试了console.log(country.geoPosition.latitude)并得到了错误,但是如果我尝试了console.log(country.geoPosition)代码,并且我看到了值,那么您缺少索引,请尝试

country.geoPosition[0].latitude
或者更改代码的结构,使
地理位置
是一个对象而不是数组

geoPosition: {
  latitude: "",
  longitude: ""
}

希望这对您将地理位置创建为阵列有所帮助

geoPosition: [{
  latitude: "",
  longitude: ""
}]
要访问纬度,您必须使用
country.geoPosition[0]。latitude

如果您的地理位置只有一个纬度和长度,请按以下方式更改您所在州的地理位置

geoPosition: {
  latitude: "",
  longitude: ""
}

上述代码中的方括号被删除。

当您最初设置国家/地区状态时,它是数组中的一个对象:
useState([{
但是从您的描述中,我认为您需要
useState({
。您正在从数组切换到obejct([]在useState,{}在setCountry)。您也不应在每次渲染时将道具复制到您的状态。如果这样做,您可以完全跳过该状态,只需使用道具即可。此外,地理位置是一个数组,因此要访问它,请键入:country.geoPosition[0]。lation或删除[]地理位置周围的括号。我必须在状态中使用道具,因为在键入和点击按钮后,道具必须更新…我从useState中删除了括号,现在可以工作了,这就是问题:)