2016-08-09 67 views
1

Ich habe eine Zeichenfolge mit dem angegebenen Wert:String JavaScript-Array mit Elementen als Arrays

var string = "[[1,2],[3,4],[5,6],[7,8]]"; 

Ich mag würde wissen, wie kann ich diesen Text in ein Array umwandeln. Nicht nur das, aber ich möchte auch [1,2], [3,4] usw. Arrays sein. Weiß jemand, wie ich das erreichen kann?

+0

JSON.parse (string) – maioman

Antwort

7

Da es sich um ein gültiges JSON handelt, können Sie es zur Array-Nummer machen, indem Sie es mit der Methode JSON.parse analysieren.

var string = "[[1,2],[3,4],[5,6],[7,8]]"; 
 

 
console.log(
 
    JSON.parse(string) 
 
)


zu einem String-Array konvertieren müssen Sie wickeln Nummer mit " (Anführungszeichen) Zeichenfolge in JSON verwenden String#replace Methode dafür zu machen.

var string = "[[1,2],[3,4],[5,6],[7,8]]"; 
 

 
console.log(
 
    // get all number and wrap it with quotes("") 
 
    JSON.parse(string.replace(/\d+/g, '"$&"')) 
 
)

+0

Hätten Sie etwas dagegen zu erklären, wie '(/ \ d +/g ' "$ &"')' funktioniert? –

+1

@JayGould '\ d +' stimmt mit den Ziffern überein und 'g' steht für globale Übereinstimmung ....... und ersetzt sie durch eine zitierte Stelle ...... (' '"$ &"' '- hier' $ & 'ist die passende Zeichenkette ---- für weitere Informationen siehe https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_string_as_a_parameter) –

+0

Brilliant, danke. –

0

JSON.parse() Funktion kann Ihnen helfen, verwenden sollten:

var string = "[[1,2],[3,4],[5,6],[7,8]]"; 
var array = JSON.parse(string); 

JSON.parse() wird von den meisten modernen Webbrowsern unterstützt (siehe: Browser-native JSON support (window.JSON))

0

Sie können den folgenden Code verwenden, um String mit JavaScript in Array zu konvertieren. Sie verwenden einfach JSON.parse-Methode, um Zeichenfolge in Json-Objekt zu konvertieren. Da unsere angegebene Zeichenfolge ein zweidimensionales Array hat, müssen wir die Operation für das json-Objekt ausführen, um das erforderliche Format zu erhalten.

var string = "[[1,2],[3,4],[5,6],[7,8]]"; 
//parses a string as JSON 
var obj=JSON.parse(string); 

console.log(obj); 
+0

Während dieses Code-Snippet die Frage lösen kann, [hilft eine Erklärung] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) wirklich zu helfen Verbessere die Qualität deines Posts. Denken Sie daran, dass Sie die Frage für Leser in der Zukunft beantworten, und diese Leute könnten die Gründe für Ihren Codevorschlag nicht kennen. Bitte versuchen Sie auch nicht, Ihren Code mit erläuternden Kommentaren zu überladen, da dies die Lesbarkeit sowohl des Codes als auch der Erklärungen verringert! – FrankerZ

+0

@FrankerZ: danke für deine Worte. – Asmi

+0

@Panos: Bitte überprüfen Sie die Lösung für Ihr Szenario und validieren Sie die Antwort. – Asmi