渲染对象React数组

时间:2019-07-04 13:07:46

标签: javascript arrays reactjs ecmascript-6

我正在从对象数组中渲染值。我做了一个计数器来计算数组中有多少个对象可以循环所有这些对象,但是它只循环一次。我知道返回后,函数会中断,但是我不知道如何做。 检查我的沙箱,我重新创建了问题https://codesandbox.io/s/goofy-easley-w5rrg

  const displayData=(data)=>{
    let counter = 0
    for (let i = 0; i < data.length; i++) {
      if (counter <= data.length+1) {
        counter++ 
        return Object.keys(data[i]).map((value,ids)=>{
              return <span key={ids}>{data[i][value]} </span>
           })
        }
      }

  }

3 个答案:

答案 0 :(得分:3)

将所有JSX值保存到数组中并返回:

let result = [];
// ...
result.push(Object.keys(data[i]).map(...));
// ...
return result;

答案 1 :(得分:1)

您可以使用嵌套的map()。我认为您不需要counter变量。

const displayData=(data)=>{
    return (
        data.map(x => 
           Object.keys(x).map((value, ids) => (
               <span key={ids}>{x[value]} </span>
           )
        )
     )
  }

答案 2 :(得分:0)

const displayData = data => {
  return Object.keys(data).map(el => {
    return el.value;
  })
}