У меня есть div, который отображает сетку, например:
render() {
return (
<div style={{display: "grid", gridTemplateColumns: "10px 10px 10px 10px", gridTemplateRows: "10px 10px 10px 10px"}}>
{this.renderCells()}
</div>
);
}
В моей функции renderCells () у меня есть:
renderCells = () => {
let render = [];
for(let i = 0; i < 16; i++)
render.push(<div className="cell" key={i} onClick={() => this.clickElement(i)}>{i}</div>);
return render;
}
Он успешно генерирует сетку 4x4 с 0 ..15 чисел в нем. В моей функции clickElement () у меня есть:
const clickElement = (index) => {
this.array.push(index);
}
Я хочу создать функцию, чтобы проверить, имеет ли this.array порядковые номера, которые могут создавать прямоугольник или квадрат.
Пример:
Grid System
[0, 1, 2, 3]
[4, 5, 6, 7]
[8,9,10,11]
[12,13,14,15]
Если пользователь нажимает 4, 5, 8 и 9 соответственно, и после того, как мы запускаем функцию isRectangleorSquare (), она должна вернуть true, для 5, 6, 9 она должна вернуть false например.
Как мне написать функцию isRectangleorSquare ()?