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

How to remove comma from my array value?

本文关键字:删除 数组 我的      更新时间:2023-09-26

我对javascript很陌生。我在拆分数组value

时很困惑
   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],

但是我希望我的输出像这样做矩阵加法

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

可以使用map()

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

您可以通过更改连接发生的位置并在/app前结束一些方括号来做到这一点,例如

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

我不得不问,虽然,为什么你得到一组数组每一个单一的值?有可能从一开始就避免得到这样的数据集吗?这样就可以避免双重映射。

例如,如果你在源数组中少嵌套一层,那么映射行就会变得简单一些

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 ] ]