繁体   English   中英

用Javascript打印数组

[英]Print array of arrays in Javascript

我有一个具有以下结构的 JSON 数组:

[
    [
        ["ABC", [
            [0, 0.139], 0.14]],
        ["DEF", [
            [0, 0.02, 0.06, 0.015], 0.115]],
        ["GHI", [
            [0, 0.0722, 0.9], 0.105]]
    ]
]

我被卡在那部分以格式打印

ABC
    First:0, 0.139   Final: 0.14

DEF
    First:0,0.02,0.06,0.015    Final: 0.115

这应该不太困难,但我只是无法破解,这就是我尝试过的方法:

$.each(data, function(i){
    var vc = data[0][i];
    var cw = data[0][i].[i][1]
    var arr = [vc, cw];
    vcat.push(arr);
});

for(i=0; i<len;i++){
    vc.push(data[0][i]);
    for(j=0;j<len;j++){
        cw.push(data[0][i].data[j])
        }
    }
}

两种方法都失败了,我无法找出正确的算法来打印这棵树。

看来这是您要执行的操作:

var o = {};

$.each(data[0][0], function () {
    o[this[0]] = {
        First: this[1][0].join(", "),
        Final: this[1][1]
    };
});

http://jsfiddle.net/qf25azhp/

一次,您需要遍历data ,因此您需要使用data[i] -您始终仅访问data[0] (然后访问其他一些属性)。

其次,JavaScript中的字符串连接运算符是+ (加号),而不是.

因此,您的代码应该看起来像这样:

data = data[0];
$.each(data, function(i){
    var vc = data[i][0];
    var cw = data[i][1][0][0]+" "+data[i][1][1];
    var arr = [vc, cw];
    vcat.push(arr);
});

data = data[0];
for(var i=0; i<len;i++){
    vc.push(data[i][0]);
}
for(var j=0;j<len;j++){
    cw.push(data[j][1][0][0]+" "+.data[j][1][1])
}

(忽略了可能的许多其他问题)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM