javascript - 多维数组 JAVASCRIPT 出了问题

标签 javascript arrays multidimensional-array

嘿伙计们,我需要帮助:P

这段代码有什么问题?

var arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
var narr = []; // want to be like that [[1, 4, 7], [2, 5, 8], [3, 6, 9]]

function arange(mass) {
    for (var i = 0; i < mass.length; i++) {
        for (var j = 0; j < mass[i].length; j++) {
            narr[mass[i]].push(mass[j][i]);
        }
    }
}

如果我调用该函数,则会出现问题:“TypeError:无法读取未定义的属性‘push’。”谢谢。 另外link here

最佳答案

您不小心尝试对 narr 值而不是数组本身调用 push。当然,原始值没有定义push函数。您的代码应如下所示:

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

function arange(mass) {
    for (var i = 0; i < mass.length; i++) {
        var innerArray = [];
        for (var j = 0; j < mass[i].length; j++) {
            innerArray.push(mass[j][i]);
        }
        narr.push(innerArray);
    }
}

关于javascript - 多维数组 JAVASCRIPT 出了问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36778362/

相关文章:

ios - 具有 [String :[String: [[Double]]]] containing 5000 entries won't compile. 类型变量的应用程序是否应存储在单独的文件中?

javascript - 在 Perl CGI 中使用 javascript

javascript - react 切换列表竞争条件?

arrays - 如何在只有某些条件需要为 TRUE 的数组公式中包含 OR - Excel

ios - 在 IBOutletCollection 中交换图像

java - 填充二维数组时如何生成唯一字符?

javascript - jquery .click() 在 Ajax 403 响应后不起作用

javascript - 如何在 Angular2 中制作数组搜索过滤器?

java - 如何分割此坐标图(除了第一个数字)并将(x,y)存储为二维数组

c# - 在不使用集合的情况下打乱二维数组