@Ddpl

Как сравнить элементы многомерного массива и найти равные элементы массива, которые находятся рядом?

То есть в данном случае, это 2=2, и 4=4

с одномерным получается, а вот с многомерным ни как
let ArrayNumber= [
  [2, 1, -1],
  [2, 4, 4] 
];

let ArrayFind=[];

let fg=0;

for (let i = 0; i < ArrayNumber.length-1; i++) {

  for (let k = 0; k < ArrayNumber[i].length-1; k++){

   if(ArrayNumber[i][k] === ArrayNumber[i][k+1]){
   
          ArrayFind.push(ArrayNumber[k] + "-" + ArrayNumber[k+1]);              
       
    } 
    
  }
  
}

  alert( ArrayFind);
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 1
mindtester
@mindtester
http://iczin.su/hexagram_48
ок. вчитался..
ну смотрите - перебор вы вроде делаете..
диагональных соседей считаем?
.. на шарпе лобовое решение было бы примерно
if((ArrayNumber[i][k] === ArrayNumber[i][k+1]) ||
ArrayNumber[i][k] === ArrayNumber[i+1][k]))
{...}

оптимизация от повторов здесь не нужна была бы... страховка выхода за пределы, вроде как заложена ))
ну если нужны диагональные..
if((ArrayNumber[i][k] === ArrayNumber[i][k+1]) ||
ArrayNumber[i][k] === ArrayNumber[i+1][k]) ||
ArrayNumber[i][k] === ArrayNumber[i+1][k+1]))
{...}


... с диагональными сложнее, так ловим только одну диагональ... короче, нужны диагонали - пиши, одну потеряли.. и на халяву не выходит ))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы