Проверить соседние элементы массива

197
24 мая 2018, 23:20

помогите советом, как найти соседние элементы по горизонтали и вертикали. К примеру: findClaster(8, 3) равно 2

нужно что бы все соседние двойки заменились на 8, и так дальше по цепочке. Пока что не получается добиться нужного результата, почему то пропускает некоторые двойки.

var arrayGrid = [ 
    [0, 0, 0, 2, 2, 3, 5, 3, 2, 0], 
    [4, 2, 4, 3, 4, 3, 5, 1, 4, 5], 
    [0, 5, 1, 0, 4, 3, 4, 4, 1, 5], 
    [3, 0, 3, 0, 5, 5, 5, 1, 4, 2], 
    [4, 5, 1, 3, 2, 3, 3, 5, 3, 3], 
    [0, 3, 2, 2, 4, 2, 3, 2, 3, 2], 
    [0, 5, 2, 2, 2, 2, 2, 1, 3, 4], 
    [2, 4, 2, 4, 3, 4, 2, 4, 3, 0], 
    [1, 2, 2, 2, 2, 5, 2, 0, 2, 1] 
] 
var foundClaster = arrayGrid; 
 
function findClaster(y, x) { 
       if (arrayGrid[y][x - 1] == 2) { 
    foundClaster[y][x - 1] = 8; 
    findClaster(y, x - 1) 
} 
if (arrayGrid[y][x + 1] == 2) { 
    foundClaster[y][x + 1] = 8; 
    findClaster(y, x + 1) 
} 
if (arrayGrid[y - 1][x] == 2) { 
    foundClaster[y - 1][x] = 8; 
    findClaster(y - 1, x) 
} 
if (arrayGrid.length - 1 >= y + 1) { 
    if (arrayGrid[y + 1][x] == 2) { 
        foundClaster[y + 1][x] = 8; 
        findClaster(y + 1, x) 
    } 
} 
} 
 
findClaster(8, 3); 
foundClaster[8][3] = 8; 
 
console.log(foundClaster)

з.ы. Задача решена.

READ ALSO
Заменить часть многомерного массива

Заменить часть многомерного массива

Дано массив, нужно заменить окруженные значения пример на картинке:

191
Разбить 3 объекта в строку

Разбить 3 объекта в строку

У меня есть переменная attachmentsВ ней 3 объекта:

219
Отображение нового компонента в render

Отображение нового компонента в render

Есть alertОн отображается когда значение переменной в store равно true

162
Запись массива в Local Storage

Запись массива в Local Storage

у меня есть html таблица, из двух колонок, необходимо по нажатию на кнопку записывать данные со второго столбца в local storageпри проверке инспектором...

226