// main.js
const App = () => {
const myData = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
const retrievRowsByColNum = (data, colPerRow) => {
const rows = [];
let cols = [];
for (let i = 0; i < data.length; i++) {
cols.push(data[i]);
if ((i + 1) % (colPerRow) === 0) {
rows.push(cols);
cols = [];
}
}
if (cols && cols.length > 0) {
rows.push(cols);
}
return rows;
};
return (<div>{(retrievRowsByColNum(myData, 4)).map((i, k) => i && i.length > 0 && <div key={`row-${k}`}>{i.map((c, ck) => <div key={`key-${ck}`}>col {c}</div>)}<br/></div>)}</div>);
}
ReactDOM.render(<App />, document.querySelector('#root'));
<body>
<div id="root"></div>
<script src="https://unpkg.com/babel-standalone@6/babel.min.js"></script>
<script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script type="text/babel" src="main.js"></script>
</body>