JSFiddle - React, Tailwind, and code Playground

by gaby de wilde

JavaScript

grid = [
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
]

foo = function(x, y, num) {
  if (grid[x][y] == num) return true;
  if (grid[x + 1] && grid[x + 1][y] == num) return true;
  if (grid[x + 2] && grid[x + 2][y] == num) return true;

  if (grid[y + 1]) {
    if (grid[x][y + 1] == num) return true;
    if (grid[x + 1] && grid[x + 1][y + 1] == num) return true;
    if (grid[x + 2] && grid[x + 2][y + 1] == num) return true;
  }

  if (grid[y + 2]) {
    if (grid[x][y + 2] == num) return true;
    if (grid[x + 1] && grid[x + 1][y + 2] == num) return true;
    if (grid[x + 2] && grid[x + 2][y + 2] == num) return true;
  }
  return false;
}

alert(foo(1, 2, 3));
alert(foo(1, 2, 30));