javascript - React 循环并创建元素

标签 javascript reactjs

我有以下结构中的项目数组。

[{column: 1, name: 'one'}, {column: 2, name: 'Two'},{column: 2, name: 'Three'},{column: 3, name: 'Four'}]

需要循环遍历数组,并且具有相同列值的项目应包装在单父项中。 就像,

<div class="parent">
    One
</div>
<div class="parent">
    <div>Two</div>
    <div>Three</div>
</div>
<div class="parent">
    Four
</div>

正如您所看到的,第二个父元素有两个子元素,因为它们具有相同的列值“2”。

最佳答案

根据列聚合数组,然后根据聚合值生成数据。

const array = [{column: 1, name: 'one'}, {column: 2, name: 'Two'},{column: 2, name: 'Three'},{column: 3, name: 'Four'}]

const aggregatedArray = array.reduce((agg, {column, name})=>{
  if(!Array.isArray(agg[column)){
    agg[volumn] = []
  }
  agg[column].push(name)
  return agg
}, {})

Object.entries().map([key, value]=><div className="parent">
  {value.map(v=><div>{v}</div>)}
</div>)

关于javascript - React 循环并创建元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61438992/

相关文章:

javascript - setState方法导致 "Warning: setState(...): Can only update a mounted or mounting component.."错误

javascript - 根据条件禁用复选框

javascript - 如何使用最新的 Browserify (6.x.x) 创建 vendor bundle ?

php - 如何在 html/php 中增加变量

android - OneSignal 表示消息已发送但没有推送通知发送到设备

ReactJS:如何输出包含 HTML 的变量?

javascript - 在将生成的内容应用于 DOM 之前,将 Javascript 类应用于生成的内容

javascript - 如何计算 JavaScript 中的日期差异?

javascript - 在 React-Admin 中保存来自自定义组件的更改

javascript - 绑定(bind)到 React 组件的函数无法传递给子组件并反弹