【问题标题】:Unable to access value from array with objects in React native无法使用 React Native 中的对象访问数组中的值
【发布时间】:2019-03-26 12:30:22
【问题描述】:

我无法访问填充了对象的状态数组中的值。

当我将它们存储在一个数组中时,我得到了这些值,但是当我尝试console.log 状态时,它打印出:[Object Object]。 我尝试了以下方法来获取值,例如:

var data=[{"coordinate":{"longitude":73.8679075241089,"latitude":18.515422222637756},"key":0,"color":"#ffc130"}];

console.log("data"+data[0].coordinate.longitude);

这就是我尝试在 React Native 中获取价值的方式:

    console.log("location "+JSON.stringify(this.state.markers));
    var data=JSON.stringify(this.state.markers);
    console.log("datamap"+JSON.parse(data));
    var dataparse = JSON.parse(data);
    console.log("data parse "+this.state.markers[0].coordinate.latitude);

这是我声明数组的地方:

class DefaultMarkers extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      region: {
        latitude: LATITUDE,
        longitude: LONGITUDE,
        latitudeDelta: LATITUDE_DELTA,
        longitudeDelta: LONGITUDE_DELTA,
      },
      markers: [],
    };
  }

我想将纬度和经度存储在一个数组中。

【问题讨论】:

  • 如果您的第一个 sn-p 中的 data 对应于 markersthis.state.markers[0].coordinate.latitude 应该可以工作。请在例如创建一个Minimal, Complete, and Verifiable example Snack 以便有人更容易帮助您。
  • 我已经尝试过 this.state.markers[0].coordinate.latitude @Tholle 但我得到了错误对象未找到,是的,我将在零食中创建一个示例。

标签: javascript arrays reactjs react-native


【解决方案1】:

我使用 JSON.parse()JSON.stringify() 来解析它

const data = JSON.parse(JSON.stringify(this.state.markers));

【讨论】:

    【解决方案2】:

    更改您的 console.log,用逗号分隔两个值,而不是将它们连接起来。

    变化自

    console.log("location "+JSON.stringify(this.state.markers));
    

    收件人

    console.log("location ", JSON.stringify(this.state.markers));
    

    希望您能够打印该值。

    【讨论】:

    • 问题不在于我需要解析它以获取坐标的值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2016-07-04
    • 2021-08-23
    相关资源
    最近更新 更多