Ich habe ein Objekt, das ich in zwei Arrays auseinander nehmen musste, um richtig zu handhaben. Es sah wie folgt aus:reduzieren Schlüsselwertpaare in JS-Array zu Objekt
{
city:"stuttgart",
street:"randomstreet",
...
}
Da es eine bestimmte Richtlinie passen muss ich es konvertieren musste:
[
{key:"city", value:"stuttgart"}
{key:"street", value:"randomstreet"},
...
]
dafür habe ich erste
var mapFromObjectWithIndex = function (array) {
return $.map(array, function(value, index) {
return [value];
});
};
var mapFromObjectWithValue = function (array) {
return $.map(array, function(value, index) {
return [index];
});
});
zwei erstellen Arrays, eine enthält den alten Schlüssel, die andere hält den alten Wert. Dann habe ich eine andere, eine zweidimensionale Anordnung zu einem einzigen Array abzubilden, dies zu tun
var mapToArray = function (arrayValue, arrayIndex) {
var tableData = [];
for (var i = 0; i<arrayIndex.length; i++){
tableData[i] = {key:arrayIndex[i] , value:arrayValue[i]};
}
return tableData;
};
(vielleicht habe ich schon von hier vermasselt, kann dies nicht leichter gemacht werden?)
Nun verwende ich die Array (tableData), um die Daten in einem Formular anzuzeigen. Die Wertfelder können bearbeitet werden. Am Ende möchte ich das Array (tableData) zu seinem Original konvertieren. (siehe erstes Objekt)
Bitte beachten Sie, dass das Originalobjekt nicht nur Strings als Werte enthält, sondern auch Objekte enthalten kann.
nur eine Randnotiz: Kyes in Objekte sind nicht die ursprüngliche Ordnung aufrechtzuerhalten garantiert. Nachdem Sie also Ihr Objekt in ein Array konvertiert haben, können Ihre Daten in zufälliger Reihenfolge vorliegen. – strah