import Card from 'src/components/Card'
import { getTotalRow } from './format'
const Main = () => {
const data = [
{
id: 1,
},
{
id: 2,
},
{
id: 3,
},
{
id: 4,
},
{
id: 5,
},
{
id: 6,
},
{
id: 7,
},
]
const arrRowItems = getTotalRow(data, 3)
return (
<>
<div>
{arrRowItems.map((rowItems, index) => {
return (
<div key={'key-' + index}>
<div
style={{
display: 'grid',
gridTemplateColumns: '1fr 30px 1fr 30px 1fr',
}}
>
{rowItems.map((item, index) => {
return (
<>
<Card />
{index !== 2 ? (
<div style={{ width: '15 px' }}></div>
) : null}
</>
)
})}
</div>
{index !== arrRowItems.length - 1 ? (
<div style={{ marginTop: '30px' }}></div>
) : null}
</div>
)
})}
</div>
</>
)
}
export default Main
import Card from 'src/components/Card'
import { getTotalRow } from './format'
const Main = () => {
const data = [
{
id: 1,
},
{
id: 2,
},
{
id: 3,
},
{
id: 4,
},
{
id: 5,
},
{
id: 6,
},
{
id: 7,
},
]
const arrRowItems = getTotalRow(data, 3)
return (
<>
<div>
{arrRowItems.map((rowItems, index) => {
return (
<div key={'key-' + index}>
<div
style={{
display: 'grid',
gridTemplateColumns: '1fr 30px 1fr 30px 1fr',
}}
>
{rowItems.map((item, index) => {
return (
<>
<Card />
{index !== 2 ? (
<div style={{ width: '15 px' }}></div>
) : null}
</>
)
})}
</div>
{index !== arrRowItems.length - 1 ? (
<div style={{ marginTop: '30px' }}></div>
) : null}
</div>
)
})}
</div>
</>
)
}
export default Main
import Card from 'src/components/Card' import { getTotalRow } from './format' const Main = () => { const data = [ { id: 1, }, { id: 2, }, { id: 3, }, { id: 4, }, { id: 5, }, { id: 6, }, { id: 7, }, ] const arrRowItems = getTotalRow(data, 3) return ( <> <div> {arrRowItems.map((rowItems, index) => { return ( <div key={'key-' + index}> <div style={{ display: 'grid', gridTemplateColumns: '1fr 30px 1fr 30px 1fr', }} > {rowItems.map((item, index) => { return ( <> <Card /> {index !== 2 ? ( <div style={{ width: '15 px' }}></div> ) : null} </> ) })} </div> {index !== arrRowItems.length - 1 ? ( <div style={{ marginTop: '30px' }}></div> ) : null} </div> ) })} </div> </> ) } export default Main
export const getTotalRow = (data: Array<any>, itemsPerRow: number) => {
let allRow: any[][] = []
let rowItems: any[] = []
let isNewRow: boolean = false
data.forEach((element, index) => {
isNewRow = index % itemsPerRow === 0 ? true : false
if (isNewRow && rowItems.length > 0) {
// Push
allRow.push([...rowItems])
// Reset
rowItems = []
rowItems.push({ ...element })
} else {
rowItems.push({ ...element })
}
})
if (rowItems.length > 0) {
allRow.push([...rowItems])
}
return allRow
}
// [
// [{}, {}, {}],
// [{}, {}, {}],
// [{}, {}, {}]
// ]
export const getTotalRow = (data: Array<any>, itemsPerRow: number) => {
let allRow: any[][] = []
let rowItems: any[] = []
let isNewRow: boolean = false
data.forEach((element, index) => {
isNewRow = index % itemsPerRow === 0 ? true : false
if (isNewRow && rowItems.length > 0) {
// Push
allRow.push([...rowItems])
// Reset
rowItems = []
rowItems.push({ ...element })
} else {
rowItems.push({ ...element })
}
})
if (rowItems.length > 0) {
allRow.push([...rowItems])
}
return allRow
}
// [
// [{}, {}, {}],
// [{}, {}, {}],
// [{}, {}, {}]
// ]
export const getTotalRow = (data: Array<any>, itemsPerRow: number) => { let allRow: any[][] = [] let rowItems: any[] = [] let isNewRow: boolean = false data.forEach((element, index) => { isNewRow = index % itemsPerRow === 0 ? true : false if (isNewRow && rowItems.length > 0) { // Push allRow.push([...rowItems]) // Reset rowItems = [] rowItems.push({ ...element }) } else { rowItems.push({ ...element }) } }) if (rowItems.length > 0) { allRow.push([...rowItems]) } return allRow } // [ // [{}, {}, {}], // [{}, {}, {}], // [{}, {}, {}] // ]
Leave a Reply