2017-01-06 6 views
1

so habe ich ein JSON-Objekt [{"key1":"val1","key2":"val2"},{"key1":"val1","key2":"val2"}]convert JSON Array von Schlüssel-Wert-Paaren zu JSON Array von Strings in Javascript

und ich brauche im Wesentlichen der Schlüssel zu entfernen, um die Ausgabe wie [["val1","val2"],["val1","val2"]] in Javascript aussieht.

kurz durch das Array zu durchlaufen und dann durch alle Eigenschaften und Zuordnung zu einem neuen JSON-Objekt zu iterieren gibt es eine Möglichkeit, die Schlüssel aus dem Objekt zu entfernen, und die Werte in eine Liste in einem Array?

bitte kein String Splicing/Regex.

Danke.

+0

Ist die Reihenfolge der Array-Elemente eine Rolle? Ist es in Ordnung, wenn es "[[" val2 "," val1 "], [" val1 "," val2 "]]' '? – Barmar

+0

Ja, aber die akzeptierte Antwort von @BrunoLM behält die Reihenfolge. – OOPMichael

+0

Nein, nicht, da die Objekte selbst keine Ordnung bewahren. – Barmar

Antwort

3

Mit ES2015 (ES6)

const arr = [{"key1":"val1","key2":"val2"},{"key1":"val1","key2":"val2"}] 
arr.map(o => Object.values(o)); 

Siehe

0

Wenn Sie noch alte Browser-Unterstützung benötigen - pre ES6

var arr = [{"key1":"val1","key2":"val2"},{"key1":"val1","key2":"val2"}]; 
 

 
arr = arr.map(function(o){ 
 
    var a = []; 
 
    for(var i in o){ 
 
     a.push(o[i]) 
 
    } 
 
    return a; 
 
}); 
 
console.log(arr);

0

Plain ES5 mit Array#map

var array = [{ key1: "val1", key2: "val2" },{ key1: "val1", key2: "val2" }], 
 
    mapped = array.map(function (o) { 
 
     return Object.keys(o).map(function (k) { 
 
      return o[k]; 
 
     }); 
 
    }); 
 

 
console.log(mapped);
.as-console-wrapper { max-height: 100% !important; top: 0; }

0

Sie müssen das Objekt in einer Schleife über und neuen Arrays machen.

for (var i = 0; i < yourobject.length; i++) { 
    var myArray = []; 
    for (var key in yourobject) { 
     myArray.push(yourobject[key] 
    } 
    console.log(myArray) 
} 
0

Dies sollte es tun:

const arr = [{"key1":"val1","key2":"val2"},{"key1":"val1","key2":"val2"}]; 

const newArr = arr.map(obj => Object.values(obj));