Javascript 输出多维数组

Javascript 输出多维数组,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我目前已设置以下阵列: var TicketInfo = { t1: { 1: [7, 12, 35,39,41, 43], 2: [7, 15, 20,34,45, 48], 3: [3, 7, 10, 13, 22, 43], 4: [2, 4, 5,23,27, 33] }, t2: { 1: [10, 12, 17

我目前已设置以下阵列:

var TicketInfo =
    {
        t1: {
            1: [7, 12, 35,39,41, 43],
            2: [7, 15, 20,34,45, 48],
            3: [3, 7, 10, 13, 22, 43],
            4: [2, 4, 5,23,27, 33]
        },
        t2: {
            1: [10, 12, 17,44,48, 49],
            2: [13, 15, 17, 18, 32, 39],
            3: [16, 17, 20, 45, 48, 49],
            4: [6, 16, 18, 21, 32, 40]
        }
        }
我想做的是迭代这些,以使数组返回到下面

作为一项测试,我试过这样的方法:

for(t in TicketInfo["t1"])
{
    i++;
        Write(t.i);
}
但很明显,它并没有按我所希望的方式工作

有什么想法吗

我希望能够输出像[7,12,35,39,41,43]这样的数组

谢谢

语法为TicketInfo[t1][1][0]

这个例子会给你7

TicketInfo[t1][1]将在问题的基础上为您提供所需的数组。

在您的代码中,t仅代表键

请尝试以下代码:

var TicketInfo =
    {
        t1: {
            1: [7, 12, 35,39,41, 43],
            2: [7, 15, 20,34,45, 48],
            3: [3, 7, 10, 13, 22, 43],
            4: [2, 4, 5,23,27, 33]
        },
        t2: {
            1: [10, 12, 17,44,48, 49],
            2: [13, 15, 17, 18, 32, 39],
            3: [16, 17, 20, 45, 48, 49],
            4: [6, 16, 18, 21, 32, 40]
        }
}

for(t in TicketInfo["t1"])
{
    i++;
        console.log(TicketInfo["t1"][t]);
}

我是否理解您希望按顺序输出整个表?由于您使用t1/t2级别的对象,因此必须为此执行额外的步骤

首先,看看是否可以简单地用真实数组替换对象:

var TicketInfoArrays = {
    t1: [
        [7, 12, 35,39,41, 43],
        [7, 15, 20,34,45, 48],
        [3, 7, 10, 13, 22, 43],
        [2, 4, 5,23,27, 33]
    ]
}


var t1 = TicketInfoArrays.t1

for(var idx = 0, len = t1.length; idx<len; idx++){
    var line = idx+": ["
    var nested = t1[idx]
    for(var idx2 = 0, len2 = nested.length; idx2<len2; idx2++){
        line += ((idx2 > 0 ? ', ':'') + nested[idx2])
    }
    console.log(line + ']')
}
如果这在某种程度上是不可能的,但您确定这些对象中的关键帧总是从某个特定的数字开始,并在没有间隙的情况下升序,那么您可以简单地在属性上创建它,直到找到空元素:

var TicketInfo = {
    t1: {
        1: [7, 12, 35,39,41, 43],
        2: [7, 15, 20,34,45, 48],
        3: [3, 7, 10, 13, 22, 43],
        4: [2, 4, 5,23,27, 33]
    }
}

var t1 =  TicketInfo.t1

var idx = 1
var nested
while(nested = t1[idx]){
    var line = idx+": ["
    var nested = t1[idx]
    for(var idx2 = 0, len2 = nested.length; idx2<len2; idx2++){
        line += ((idx2 > 0 ? ', ':'') + nested[idx2])
    }
    console.log(line + ']')
    idx++
}
最后,如果您甚至不能保证这一点,您将不得不手动收集所有键,对它们进行排序,然后迭代这个排序列表

var TicketInfoUnordered = {
    t1: {
        8: [7, 12, 35,39,41, 43],
        20: [7, 15, 20,34,45, 48],
        45: [3, 7, 10, 13, 22, 43],
        3: [2, 4, 5,23,27, 33]
    }
}

var t1 = TicketInfoUnordered.t1

var keys = []
for(key in t1){
    if(t1.hasOwnProperty(key)){ keys.push(key) }
}
keys.sort(function(a, b){ return a - b })

for(var idx = 0, len = keys.length; idx<len; idx++){
    var line = keys[idx]+": ["
    var nested = t1[keys[idx]]
    for(var idx2 = 0, len2 = nested.length; idx2<len2; idx2++){
        line += ((idx2 > 0 ? ', ':'') + nested[idx2])
    }
    console.log(line + ']')
}

如果您来自谷歌,试图找到一种快速打印调试的方法,这里有一行代码供您使用:

console.log(myArray.join("\n"))
例如:

var myArray = [[1,2,3],[4,5,6],[7,8,9]];
console.log(myArray.join("\n"));
输出:

1,2,3
4,5,6
7,8,9
[[1,2,3],
[4,5,6],
[7,8,9]]
[7,12,35,39,41,43]
[7,15,20,34,45,48]
[3,7,10,13,22,43]
[2,4,5,23,27,33]
带有适当括号的示例:

var myArray = [[1,2,3],[4,5,6],[7,8,9]];
console.log("[[" + myArray.join("],\n[") + "]]");
输出:

1,2,3
4,5,6
7,8,9
[[1,2,3],
[4,5,6],
[7,8,9]]
[7,12,35,39,41,43]
[7,15,20,34,45,48]
[3,7,10,13,22,43]
[2,4,5,23,27,33]
对OP问题的答复:

obj =  {
    1: [7, 12, 35,39,41, 43],
    2: [7, 15, 20,34,45, 48],
    3: [3, 7, 10, 13, 22, 43],
    4: [2, 4, 5,23,27, 33],
}
var keys = Object.keys(obj);
keys.sort();
console.log(keys);
var listFromObj = []
for (var i = 0; i < keys.length; i++) {
    if (obj.hasOwnProperty(keys[i])) listFromObj.push(obj[keys[i]]);
}
console.log("[" + listFromObj.join("]\n[") + "]");

在你的写作中,从Writet.i改为Writet[i]。t[i]将在您询问时给出相应的数组OP的示例实际上不是多维数组,但是,如果您实际上有一个数组,那么它确实提供了一个通用的解决方案。