首页 > 解决方案 > 嵌套数组:如何正确使用 && 运算符来跳过一些循环?

问题描述

我试图从嵌套数组中取出一个“沙漏”数组。

说这个数组是

1 1 1 0 0 0
0 1 0 0 0 0
1 1 1 0 0 0

我必须取出这个“沙漏”数组并将其全部加起来:

1 1 1
  1
1 1 1

因此,这是我的尝试:

for (let i = 0; i < 3; i++) {
    for (let j = 0; j < 3; j++) {
        if ((i === 1 && j === 0) && (i === 1 && j === 2)) {
            continue;
        } else {
            newArr.push(arr[i][j]);
        }
    }
}

我注意到,如果我使用这个条件:i === 1 && j === 0,它能够跳过位置,i = 1但是j = 0当我添加时j = 2,我无法让它跳过第一个和第三个位置。因此,我尝试了各种选择来让它工作,但我无法让它工作。这样,我想知道我是否做得&& operator正确?

标签: javascriptarrays

解决方案


您可以为零 (0) 和一 (1) 添加空格,或者任何其他数字只是累积它们;

const arr = [
  [1, 1, 1, 0, 0, 0],
  [0, 1, 0, 0, 0, 0],
  [1, 1, 1, 0, 0, 0],
]
let printRow = '';
for (let i = 0; i < arr.length; i++) {
  for (let j = 0; j < arr[i].length; j++) {
    if (arr[i][j] === 0) {
      printRow += ' ';
    } else {
      printRow += arr[i][j];
    }
  }
  console.log(printRow);
  printRow = '';
}


推荐阅读