【问题标题】:JavaScript Incremental Array ReactJavaScript 增量数组 React
【发布时间】:2018-10-30 03:51:14
【问题描述】:

嗨,这是我的 json 值

constructor() {
  super();
  this.exportpdf = this.exportpdf.bind(this);
  this.state = {
    sales: [
      {
        customStudentId: "2064517",
        studentRoll: 26,
        studentName: "Md. Faiaz Jakir ",
        stdCtExamMarks: [
          {
            viewSerial: 1,
            subjectName: "Bangla ",
            subjectFullMark: 25,
            obtainedMark: 0,
            highestMarks: 25
          }
        ]
      },
      {
        customStudentId: "2065817",
        studentRoll: 27,
        studentName: "Miraj  Bin Atik ",
        stdCtExamMarks: [
          {
            viewSerial: 1,
            subjectName: "English ",
            subjectFullMark: 25,
            obtainedMark: 0,
            highestMarks: 25
          }
        ]
      }
    ]
  };
}

这里我使用的是 primereact 数据表。这是我用来在表格中显示我的数据的代码>

 <DataTable value={this.state.sales[0].stdCtExamMarks}>
        <Column field="subjectName" header="Subject" />
        <Column field="subjectFullMark" header="Full Mark" />
        <Column field="obtainedMark" header="Obtainedn Mark" />
        <Column field="highestMarks" header="Highest Mark" />
    </DataTable>

我为this.state.sales[0].stdCtExamMarks 得到的值是 Image Here

但我需要来自 json 数据的两个(等等)stdCtExamMarks 值。我该怎么做?

【问题讨论】:

    标签: javascript reactjs primereact


    【解决方案1】:

    但我需要来自 json 数据的两个(等等)stdCtExamMarks 值。 我该怎么做?

    所以你需要从数组中的每个对象中提取stdCtExamMarks?您可以使用map 来执行此操作。它将返回一个映射对象数组:

    <DataTable value={this.state.sales.map(sale => sale.stdCtExamMarks)}>
    

    【讨论】:

    • 控制台日志的输出是(2) [Array(1), Array(1)],并且不会将任何值推送到表中
    • 当我将代码更改为&lt;DataTable value={this.state.sales.map(sales =&gt; sales.stdCtExamMarks[0])}&gt;时它工作了
    • 哦,我没注意到它的 na 数组,很好!
    猜你喜欢
    • 2021-10-10
    • 2019-02-14
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2012-05-30
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    相关资源
    最近更新 更多