Finding neighbours in a two-dimensional array

后端 未结 20 1100
忘了有多久
忘了有多久 2020-11-30 02:02

Is there an easy way of finding the neighbours (that is, the eight elements around an element) of an element in a two-dimensional array? Short of just subtracting and adding

20条回答
  •  有刺的猬
    2020-11-30 02:43

    Here is a working Javascript example from @seb original pseudo code:

    function findingNeighbors(myArray, i, j) {
      var rowLimit = myArray.length-1;
      var columnLimit = myArray[0].length-1;
    
      for(var x = Math.max(0, i-1); x <= Math.min(i+1, rowLimit); x++) {
        for(var y = Math.max(0, j-1); y <= Math.min(j+1, columnLimit); y++) {
          if(x !== i || y !== j) {
            console.log(myArray[x][y]);
          }
        }
      }
    }
    

提交回复
热议问题