data = {
let width = 100,
height = 100,
rnd = d3.randomInt(2),
data = [];
for (let i = 0; i < width; ++i) {
for (let j = 0; j < height; ++j) {
data.push({ x: i, y: j, neighbors: [], v: rnd() });
}
}
data.map((d, offset) => {
let { x, y, neighbors, v } = d;
for (let i = 0; i < 3; ++i) {
for (let j = 0; j < 3; ++j) {
if ((i === 1) & (j === 1)) {
continue;
}
neighbors.push(
data.findIndex((d) => (d.x === x + i - 1) & (d.y === y + j - 1))
);
}
}
d.neighbors = neighbors.filter((d) => d > -1);
d.w = v;
d.c = v;
});
return data;
}