如何在JavaScript中更改多维数组的值?

问题描述 投票:0回答:4

我正在尝试解决这个问题,我已经尝试了一些我所知道的但它不起作用的东西。我相信这是我做得不对的if声明。有人能给我一个亮点吗?

var numbers = [
  [ 1,2,3],
  [ 4,5,6],
  [ 7,8,9]];

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

我希望数组编号的元素改为“偶数”和“奇数”。

javascript arrays
4个回答
0
投票

这是你想要的?

var numbers = [
  [ 1,2,3],
  [ 4,5,6],
  [ 7,8,9]];

for(var row = 0; row < numbers.length; row++){
    for(var column = 0; column < numbers[row].length; column++){
    
        console.log(numbers[row][column]  %2 === 0 ? 'even' : 'odd');
    }
}

1
投票

您的谓词numbers[row].length % 2 === 0正在检查该行是否具有偶数个元素。我假设你想要的是numbers[row][column] % 2 === 0


0
投票

如果您希望结果数组看起来像这样

[
   ["odd", "even", "odd"],
   etc...
]

然后你的if语句缺少column参数

if(numbers[row][column] % 2 === 0){

0
投票
var numbers = [
  [ 1,2,3],
  [ 4,5,6],
  [ 7,8,9]
];


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

在你的条件中,你要问的是元素的长度是否可以被2整除,而它应该是元素本身。请记住,您已经在算法的那一点处于嵌套循环中,因此您只显示嵌套数组中的数字而不是数组本身。

© www.soinside.com 2019 - 2024. All rights reserved.