Javascript 反应循环并创建元素
我有以下结构中的项目数组Javascript 反应循环并创建元素,javascript,reactjs,Javascript,Reactjs,我有以下结构中的项目数组 [{column: 1, name: 'one'}, {column: 2, name: 'Two'},{column: 2, name: 'Three'},{column: 3, name: 'Four'}] 需要在数组中循环,具有相同列值的项应包装在单个父项中。 像 一个 两个 三 四 正如您所看到的,第二个父元素有两个子元素,因为它们具有相同的列值“2”。基于列聚合数组,然后基于聚合值生成数据 const数组=[{column:1,name:'one'},
[{column: 1, name: 'one'}, {column: 2, name: 'Two'},{column: 2, name: 'Three'},{column: 3, name: 'Four'}]
需要在数组中循环,具有相同列值的项应包装在单个父项中。
像
一个
两个
三
四
正如您所看到的,第二个父元素有两个子元素,因为它们具有相同的列值“2”。基于列聚合数组,然后基于聚合值生成数据
const数组=[{column:1,name:'one'},{column:2,name:'Two'},{column:2,name:'twree'},{column:3,name:'Four'}]
const aggregatedArray=array.reduce((agg,{column,name})=>{
if(!Array.isArray(agg[列)){
agg[volumn]=[]
}
agg[列].push(名称)
返回agg
}, {})
Object.entries().map([key,value]=>
{value.map(v=>{v}}
)
const arr0=[
{列:1,名称:'one'},
{列:2,名称:'Two'},
{列:2,名称:'Three'},
{列:3,名称:'Four'},
];
/*转换数组
*排列
*
*转换(arr0)返回[['1']、['2'、['3']、['4']]
*/
const convert=arr=>arr.reduce((acc,{column,name})=>{
常数索引=列-1;
如果(!acc[索引]){
acc[索引]=[名称];
}否则{
acc[索引].推送(名称);
}
返回acc;
},[]);
有几个语法错误:agg[column]
缺少]
,([key,value])
缺少()
。。。
<div class="parent">
One
</div>
<div class="parent">
<div>Two</div>
<div>Three</div>
</div>
<div class="parent">
Four
</div>