javascript将多维数组中的每个元素加倍的方法

标签 javascript html arrays multidimensional-array double

我对 javascript 很陌生,被要求做这个学徒测试,我还没有走多远,只是需要一些帮助......我所要做的就是将多维数组中的每个数字加倍,然后将其打印到网页上,抱歉,如果这对某些人来说似乎很简单,我相对较新,所以不知道很多。

        // Define a 2 dimensional (3 x 3) array
        var array = [
            [1, 2, 3],
            [4, 5, 6],
            [7, 8, 9]
        ];


        // TO DO: Double each number in the 2 dimensional array

这就是我到目前为止所拥有的一切,不确定我是否走在正确的道路上?

        for (var i = 0; i < array[0].length + array.length; i++){
            for (var j = 0; j <array[0].length +array.length; j++){
            array[i] = array[i] * 2;
                document.write(array[i][j])
                }
            }




        // Output results
        document.write(array.toString(array));

        // Say how big the array is
        document.write("<p>Table is " + array[0].length + " columns by " + array.length + " rows</p>");

        // Start the table
        document.write("<table>");

        // Output the rows
        document.write("<tr><td>" + array[0][0] + "</td><td>" + array[0][1] + "</td><td>" + array[0][2] + "</td></tr>");
        document.write("<tr><td>" + array[1][0] + "</td><td>" + array[1][1] + "</td><td>" + array[1][2] + "</td></tr>");
        document.write("<tr><td>" + array[2][0] + "</td><td>" + array[2][1] + "</td><td>" + array[2][2] + "</td></tr>");

        // End the table
        document.write("</table>");

        // Optionally... make the above "output the rows" code work with
        // any sized array

    </script>
</body>

最佳答案

您可以使用.map()来做到这一点而不是 for 循环,使它更干净一些。

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

arr = arr.map(function (sub_arr) {
    return sub_arr.map(function (elem) {
        return elem*2;
    });
});

console.log(arr);

或者选择使用 ES6 语法

arr = arr.map(sub_arr => sub_arr.map(elem => elem*2));

console.log(arr);

您生成输出的逻辑不是最好的,但它应该可以正常工作,尽管我会使用循环来生成输出而不是静态编码 [0][0], [0][1], [0 ][2]等...

关于javascript将多维数组中的每个元素加倍的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39026533/

相关文章:

javascript - 自调用函数javascript

html - 两个 div,排成一行,中间有文字

javascript - 使用 Javascript 在段落中查找对话框

linux - bash 中的平衡指数

javascript - 序列化一个javascript类对象?

javascript - 删除水平滚动

html - 垂直对齐 <a> 标签内的元素

c - C 中的 print 语句出错

javascript - 使用站点身份验证 cookie 的摘要进行 CSRF

Javascript,变量无法通过函数访问