将内部json数组与空间和外部结合使用换行符

时间:2017-01-04 10:03:23

标签: javascript arrays json google-apps-script

我有一个定义为

的数组
var array = [[
    ["a"],
    ["t"]
], [
    ["b"],
    ["t"]
], [
    ["c"],
    ["t"]
]]

所需的输出是:

a t
b t
c t

我试过

rows.join("\n")

给出

a,t
b,t
c,t

我有一个庞大的列表,需要高效的代码来映​​射每个内部数组,而不是传统的for while循环

3 个答案:

答案 0 :(得分:3)

您可以将Array#map用于包含换行符的外部数组,将Array#join用于内部' ',外部数组使用'\n'

var array = [
        [["a"], ["t"]],
        [["b"], ["t"]],
        [["c"], ["t"]]
    ],
    result = array.map(function (a) { 
        return a.join(' ');
    }).join('\n');

console.log(result);

ES6

var array = [
        [["a"], ["t"]],
        [["b"], ["t"]],
        [["c"], ["t"]]
    ],
    result = array.map(a => a.join(' ')).join('\n');

console.log(result);

答案 1 :(得分:1)

连接函数不适用于嵌套数组。您可以使用以下方式处理此类情况。

var array = [
    [    ["a"],    ["t"]    ], 
    [    ["b"],    ["t"]    ],
    [    ["c"],    ["t"]    ]
    ];

    for (var i=0, l=array.length; i<l; i++){
        if (array[i] instanceof Array){
            array[i] = array[i].join(" ");
        }
    }
    var energy = array.join('\n');

答案 2 :(得分:0)

所有数组方法都很花哨但可能仍然可以像

一样

var arr = [[["a"],["t"]],
           [["b"],["t"]],
           [["c"],["t"]]
          ],
 result = arr.join("\n").replace(/,/g," ");
console.log(result);