1const rows = Array.from({ length: 10000 }, (_, i) => "job #" + i);
2let domNodes = 0;
3const renderRow = (r) => { domNodes++; return r; };
4rows.forEach(renderRow);
5console.log("naive: DOM nodes created =", domNodes);
6domNodes = 0;
7function windowRender(scrollTop) {
8 const first = Math.floor(scrollTop / 30);
9 return rows.slice(first, first + 12).map(renderRow);
10}
11const frame1 = windowRender(0);
12console.log("windowed:", domNodes, "nodes |", frame1[0], "…", frame1[11]);
13const frame2 = windowRender(3000);
14console.log("scrolled:", frame2[0], "…", frame2[11], "| still 12 rows a frame");