我正在尝试解决此问题,我已经尝试了一些我知道的事情,但是它不起作用。我认为这是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]);
}
}
我希望数组编号的元素更改为“偶数”和“奇数”。
答案 0 :(得分:1)
您的谓词numbers[row].length % 2 === 0
正在检查该行是否具有偶数个元素。我假设您想要的是numbers[row][column] % 2 === 0
。
答案 1 :(得分: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');
}
}
答案 2 :(得分:0)
如果您希望结果数组看起来像这样
[
["odd", "even", "odd"],
etc...
]
然后您的if语句缺少列参数
if(numbers[row][column] % 2 === 0){
答案 3 :(得分: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整除,那么它应该是元素本身。请记住,您在算法的那一刻已经在嵌套循环中,因此您只显示嵌套数组内部的数字,而不显示数组本身。