Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换嵌套数组中的所有元素_Javascript - Fatal编程技术网

Javascript 替换嵌套数组中的所有元素

Javascript 替换嵌套数组中的所有元素,javascript,Javascript,我有一个挑战,我已经与之斗争了一段时间。这是关于替换网格形式的数组中的所有元素,但我的解决方案只是替换它所选择的元素,而不是我想要的 在这个挑战中,我想用字符串“偶数”替换可被2整除的整数值,而用字符串“奇数”替换其余的整数值 /* *-numbers变量是一个数组数组。 *-一个嵌套的,用于循环数字。 *-将每个偶数转换为字符串“偶数” *-并将每个奇数转换为字符串“奇数” */ var myNumbers=[ [243, 12, 23, 12, 45, 45, 78, 66, 223, 3]

我有一个挑战,我已经与之斗争了一段时间。这是关于替换网格形式的数组中的所有元素,但我的解决方案只是替换它所选择的元素,而不是我想要的

在这个挑战中,我想用字符串“偶数”替换可被2整除的整数值,而用字符串“奇数”替换其余的整数值

/* *-
numbers
变量是一个数组数组。 *-一个嵌套的
,用于循环
数字。
*-将每个偶数转换为字符串“偶数”
*-并将每个奇数转换为字符串“奇数”
*/

var myNumbers=[
[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]
];

对于(var row=0;row可能更容易使用嵌套的
map

var myNumbers=[
[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]
];
const output=myNumbers.map(行=>row.map(num=>
数值%2==0
“甚至”
:“奇数”
));

console.log(输出);
使用嵌套的
映射可能更容易:

var myNumbers=[
[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]
];
const output=myNumbers.map(行=>row.map(num=>
数值%2==0
“甚至”
:“奇数”
));

console.log(output);
在内部循环中,您需要使用两个索引(即
myNumbers[row][column]
)访问值。目前,您只使用列索引,因此将值拼接到包含行的数组中。

在内部循环中,您需要使用两个索引访问值(即
myNumbers[row][column]
)。目前,您仅使用列索引,因此将值拼接到包含行的数组中。

您对行索引使用了错误的变量

myNumbers[column]
//needs to be
myNumbers[row]
另外,if条件使用了错误的行索引,并试图与整个数组而不是数组中的值进行比较

if(myNumbers[column]%2===0)
//needs to be
if(myNumbers[row][column]%2===0)
演示

var myNumbers=[
[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]
];
对于(变量行=0;行console.log(myNumbers);
您对行索引使用了错误的变量

myNumbers[column]
//needs to be
myNumbers[row]
另外,if条件使用了错误的行索引,并试图与整个数组而不是数组中的值进行比较

if(myNumbers[column]%2===0)
//needs to be
if(myNumbers[row][column]%2===0)
演示

var myNumbers=[
[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]
];
对于(变量行=0;行console.log(myNumbers);
为什么不简单地设置
myNumbers[row][column]
的值,而不是使用
splice

var myNumbers = [
    [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 row=0; row<myNumbers.length; row++) {
         for(var column=0;column<myNumbers[row].length;column++) {
                if(myNumbers[row][column]%2===0) {
                  myNumbers[row][column] = "even";
                } else{ 
                    myNumbers[row][column] = "odd";
                }
            console.log(myNumbers[row][column]);
     }
    }
var myNumbers=[
[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]
];

对于(var row=0;row为什么不简单地设置
myNumbers[row][column]
的值,而不是使用
splice

var myNumbers = [
    [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 row=0; row<myNumbers.length; row++) {
         for(var column=0;column<myNumbers[row].length;column++) {
                if(myNumbers[row][column]%2===0) {
                  myNumbers[row][column] = "even";
                } else{ 
                    myNumbers[row][column] = "odd";
                }
            console.log(myNumbers[row][column]);
     }
    }
var myNumbers=[
[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