Javascript 数组转换?

Javascript 数组转换?,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我对javascript非常陌生,在尝试实现以下目标时,我遇到了一些问题。我试着搜索论坛——像这样的问题可能以前已经解决了,但我不知道搜索什么。这也是标题极具创意的原因:/ 无论如何-这是我当前的代码: var arraylength = 4; var originalarray = new Array(new Array); var originalarray = { [1, 1, 1, 1] [2, 2, 2, 2] [3, 3, 3, 3] [4, 4, 4

我对javascript非常陌生,在尝试实现以下目标时,我遇到了一些问题。我试着搜索论坛——像这样的问题可能以前已经解决了,但我不知道搜索什么。这也是标题极具创意的原因:/

无论如何-这是我当前的代码:

var arraylength = 4;
var originalarray = new Array(new Array);
var originalarray = {
    [1, 1, 1, 1]
    [2, 2, 2, 2]
    [3, 3, 3, 3]
    [4, 4, 4, 4]    
}

convertarray(originalarray, arraylength);

function convertarray(originalarray, arraylength){
    var converedtarray = new Array(new Array);
    var temparray = new Array;
    temparray.length = arraylength;

    for (h = 0; h < arraylength; h++) { 
        var temparray  = [];
        var temparray = originalarray[h].split('');

        for (i = 0; i < arraylength; i++) {
            converedtarray[h][i] = temparray[i];
        }
    }
return convertedarray;
}
有人能告诉我我错过了什么部分,或者告诉我我能做些什么吗? 因为我在这部分得到了“TypeError:undefined不是一个对象”:

converedtarray[h][i] = temparray[i];
我决不是一个专业的程序员-我知道代码并不漂亮,但这或多或少是反复尝试的结果。。。事实上,错误多于尝试


提前感谢您的回答

您的代码有一些问题。首先,如果您想要一个
nXn
数组,那么您定义的
originalarray
是错误的。第二个
newarray(newarray)
不会为您声明数组数组,如果您是这么想的话。这里需要两个循环,因为您已经找到了第一个用于维护列的循环和第二个用于维护行的循环

var阵列长度=4;
var originalarray=新数组();
变量原始数组=[
[1, 1, 1, 1],
[2, 2, 2, 2],
[3, 3, 3, 3],
[4, 4, 4, 4]    
]
log(convertarray(originalarray,arraylength));
函数转换数组(原始数组,数组长度){
var converedtarray=新数组();
对于(h=0;h
可能的解决方案:

var阵列长度=4;
变量原始数组=[
[1, 1, 1, 1],
[2, 2, 2, 2],
[3, 3, 3, 3],
[4, 4, 4, 4],  
];
函数转换数组(原始数组,数组长度){
var结果=[];
对于(h=0;h);
你认为新数组(新数组)
有什么作用?因为我认为这是胡说八道。你试图设置
converedtarray[h][I]
但你还没有设置
converedtarray[h]
是这样做的?它是如何回答这个问题的?这是做什么的?它如何回答这个问题?谢谢你的代码!我没有让它工作,但我认为它与“地图”功能有关。因为我是为Photoshop编程的,这可能就是问题所在:(啊,这很有意义。
Array.prototype.map
在早期版本的JavaScript/ECMAScript中不可用。
converedtarray[h][i] = temparray[i];