2017-09-10 2 views
0

Ich habe diese SaiteJS: konvertieren String Array

foo = "[[0,0,0,0],[1,24,3,3],[2,24,0,3],[3,24,0,3],[4,24,19,3]]"; 

Wie kann ich dies in ein JavaScript-Array konvertieren (wahrscheinlich ohne die Zeichenfolge aufteilen, denn es gibt mehr als 16.000 Werte im Array und ich möchte sparen Zeit)?

+5

tut [ 'JSON.parse'] (https: // developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse) nicht für Sie arbeiten? –

+0

Wie ist das eine Zeichenfolge? Meinten Sie "[[0,0,0,0], [1,24,3,3], [2,24,0,3], [3,24,0,3], [4,24 , 19,3]] "(mit den Zitaten)? – Taurus

Antwort

0

Wollten Sie alle Sub-Arrays zu einem zusammenführen? Wenn ja, Sie mit dem folgenden Ausschnitt versuchen könnte:

var foo = '[[0,0,0,0],[1,24,3,3],[2,24,0,3],[3,24,0,3],[4,24,19,3]]'; 
 

 
var list = JSON.parse(foo); 
 

 
var combined = new Array(); 
 

 
for (var counter = 0; counter < list.length; counter++) {  
 
    for(var index = 0; index < list[counter].length; index++) { 
 
    combined.push(list[counter][index]); 
 
    } 
 
} 
 

 
console.log(combined);

0

Sie können JSON.parse die Zeichenfolge in ein Array zu konvertieren, verwenden Sie dann .concat Verfahren die Arrays in einem verschmelzen.

DEMO

var foo = "[[0,0,0,0],[1,24,3,3],[2,24,0,3],[3,24,0,3],[4,24,19,3]]"; 
 
var output = JSON.parse(foo); 
 
var merged = [].concat.apply([], output); 
 
console.log(merged);

0

Nutzen Sie Funktion auf Array verfügbar reduzieren

var foo = "[[0,0,0,0],[1,24,3,3],[2,24,0,3],[3,24,0,3],[4,24,19,3]]"; 
 
var nested_array = JSON.parse(foo); 
 

 
var output = nested_array.reduce(function(prev, curr) { 
 
    return prev.concat(curr); 
 
}); 
 
console.log(output)