Nane
Nane

Reputation: 403

How to remove comma from my array value?

hi pretty new to javascript.I am pretty confused in spliting my array 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],

But i want my ouptput like this to do matrix addition

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

Upvotes: 0

Views: 209

Answers (2)

JVDL
JVDL

Reputation: 1202

You could do this by changing where the join happens and pre/app-ending some square brackets, e.g.

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

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

I do have to ask though, why are you getting back a set of arrays each with a single value? Is it possible to avoid getting a dataset like that in the first place? You could avoid the double map/foreach that way.

For instance if you had one level less nesting in your source array the map line would become a little simpler

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

This is of course if you want to specifically output the string for the array matrix, if you just wanted a flatter version of your original array then you could do:

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

Upvotes: 0

Nenad Vracar
Nenad Vracar

Reputation: 122047

You can use map() for this.

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

console.log(result)

Upvotes: 1

Related Questions