嵌套for循环与2维数组

时间:2017-08-08 08:04:01

标签: javascript arrays

如何替换数组中可以乘以2字符串“even”和“odd”的数字。

var numbers = [
  [243, 12, 23, 12, 45, 45, 78, 66, 223, 3],
  [34, 2, 1, 553, 23, 4, 66, 23, 4, 55],
  [67, 56, 45, 553, 44, 55, 5, 428, 452, 3],
  [12, 31, 55, 445, 79, 44, 674, 224, 4, 21],
  [4, 2, 3, 52, 13, 51, 44, 1, 67, 5],
  [5, 65, 4, 5, 5, 6, 5, 43, 23, 4424],
  [74, 532, 6, 7, 35, 17, 89, 43, 43, 66],
  [53, 6, 89, 10, 23, 52, 111, 44, 109, 80],
  [67, 6, 53, 537, 2, 168, 16, 2, 1, 8],
  [76, 7, 9, 6, 3, 73, 77, 100, 56, 100]
];

for (var i = 0; i < numbers.length; i++) {
  for (var j = 0; j < numbers[i].length; j++) {
    if(numbers[i][j] % 2 === 0) {
      numbers[i][j] += " even";
    } else {
      numbers [i][j] += " odd";
    }
   
    console.log(numbers[j][i]);
  }
}

2 个答案:

答案 0 :(得分:2)

如果你的意思是用字符串替换数字,你可以这样做,但数组必须定义为任何:

.two {
  max-height: 100%
}

答案 1 :(得分:0)

您需要切换索引,以显示实际元素。如果没有,您将获得一些没有更改值的元素。

console.log(numbers[i][j]);
//                  ^  ^

&#13;
&#13;
var numbers = [
  [243, 12, 23, 12, 45, 45, 78, 66, 223, 3],
  [34, 2, 1, 553, 23, 4, 66, 23, 4, 55],
  [67, 56, 45, 553, 44, 55, 5, 428, 452, 3],
  [12, 31, 55, 445, 79, 44, 674, 224, 4, 21],
  [4, 2, 3, 52, 13, 51, 44, 1, 67, 5],
  [5, 65, 4, 5, 5, 6, 5, 43, 23, 4424],
  [74, 532, 6, 7, 35, 17, 89, 43, 43, 66],
  [53, 6, 89, 10, 23, 52, 111, 44, 109, 80],
  [67, 6, 53, 537, 2, 168, 16, 2, 1, 8],
  [76, 7, 9, 6, 3, 73, 77, 100, 56, 100]
];
for (var i = 0; i < numbers.length; i++) {
  for (var j = 0; j < numbers[i].length; j++) {
    if (numbers[i][j] % 2 === 0) {
      numbers[i][j] += " even";
    } else {
      numbers[i][j] += " odd";
    }
    console.log(numbers[i][j]);
  }
}
&#13;
&#13;
&#13;