如何从我的数组值中删除逗号?

时间:2016-10-16 11:21:06

标签: javascript arrays matrix

你对javascript很新。我在分割我的数组值时非常困惑

   console.log(arr)//[ [ [ 10, 0 ] ], [ [ 8, 0 ] ], [ [ 8, 0 ] ], [ [ 5, 2 ] ] ]
    var line = "";

    arr.forEach(e => {

              e.forEach(f => line += "[" + f.join(",") + "],");

    });
console.log(line);//[10,0],[8,0],[8,0],[5,2],

但是我希望我的ouptput这样做矩阵添加

 console.log(line);//[[10,0],[8,0],[8,0],[5,2]]

2 个答案:

答案 0 :(得分:1)

您可以使用var arr = [ [ [ 10, 0 ] ], [ [ 8, 0 ] ], [ [ 8, 0 ] ], [ [ 5, 2 ] ] ]; var result = arr.map(function(a) { return a[0]; }); console.log(result)

$ perl -lne '
($g) = /Gene\.refGene=([^;]+)/;
if($g ne $p && $. > 1)
{
    print "$p\t$c";
    $c = 0;
}
$c++; $p = $g;
END { print "$p\t$c" }' ip.txt
CLCNKA  4
XDH     2
GRK4    4

答案 1 :(得分:0)

你可以通过改变连接发生的位置和预先/应用结束某些方括号来实现这一点,例如

var line = arr.map(e => e.map(f => f.join(",")));
console.log('[' + line.join('],[') + ']');

// [10,0],[8,0],[8,0],[5,2]

我不得不问,为什么你要回到一组数组,每个数组都有一个值?是否有可能避免首先获得这样的数据集?你可以避免那种双重图/ foreach。

例如,如果您在源数组中嵌套的级别较少,则地图行会变得更简单

var arr = [ [ 10, 0 ], [ 8, 0 ], [ 8, 0 ], [ 5, 2 ] ]; 
var line = arr.map(f => f.join(","));
console.log('[' + line.join('],[') + ']');

当然,如果您想要专门输出数组矩阵的字符串,如果您只想要原始数组的更平坦版本,那么您可以这样做:

var newList = arr.map(f => f[0]);
// [ [ 10, 0 ], [ 8, 0 ], [ 8, 0 ], [ 5, 2 ] ]