-1

我在图像中有如下数据,我正在尝试Data从下图中的 json 中提取数组。

在此处输入图像描述

数据具有类似的关键值condition_type和其他值。

我可以使用以下代码获取每个单独的值

const  submitcode = (data) => {
  const tasks = Object.values(data);
  console.log(tasks[0].Data[0]);
 }
 console.log(tasks[0].Data[0]);

Data任何人都可以建议是否有任何方法可以使用 React JS 从这 6 个对象中获取数组。

提前谢谢了

4

3 回答 3

3

这是一个返回数组的简单Data片段

const array = [
  {Cols: [], Data: [{condition_type: "1"}], title: "Environmental Condition"},
  {Cols: [], Data: [{condition_type: "2"}], title: "Ventilation"},
  {Cols: [], Data: [{condition_type: "3"}], title: "Thermal Comfort"},
  {Cols: [], Data: [{condition_type: "4"}], title: "Internal Loads"},
  {Cols: [], Data: [{condition_type: "5"}], title: "Exhaust"},
  {Cols: [], Data: [{condition_type: "6"}], title: "Misc"},
]

console.log(array.map(({Data: [val]})=>val))

或者如果您想直接访问特定键的值

const array = [
  {Cols: [], Data: [{condition_type: "1"}], title: "Environmental Condition"},
  {Cols: [], Data: [{condition_type: "2"}], title: "Ventilation"},
  {Cols: [], Data: [{condition_type: "3"}], title: "Thermal Comfort"},
  {Cols: [], Data: [{condition_type: "4"}], title: "Internal Loads"},
  {Cols: [], Data: [{condition_type: "5"}], title: "Exhaust"},
  {Cols: [], Data: [{condition_type: "6"}], title: "Misc"},
]

console.log(array.map(({Data: [{condition_type}]})=>condition_type))

于 2020-01-13T20:24:15.900 回答
2

考虑到屏幕截图中的数组被调用tasks,您可以使用带有对象和数组解构的映射:

tasks.map(({ Data: [el] }) => el);

const tasks = [{ Data: [{ a: 1, b: 2 }] }, { Data: [{ a: 3, b: 4 }] }];
console.log(tasks.map(({ Data: [el] }) => el));

或者也有点hacky,使用数组索引两次使用对象解构:

tasks.map(({ Data: { 0: el } }) => el);

const tasks = [{ Data: [{ a: 1, b: 2 }] }, { Data: [{ a: 3, b: 4 }] }];
console.log(tasks.map(({ Data: { 0: el } }) => el));

于 2020-01-13T20:25:10.657 回答
0

您可以映射父级(任务数组)并获取子级(数据数组)

const result = tasks.map(s => s.Data[0]);
//result contains array of Data objects
于 2020-01-13T20:25:36.603 回答