ich unter zwei Arrays:erstellen gruppiert Array mit zwei verschiedenen Arrays
array1 = [{
"type":"test",
"name":"name1"},
{
"type":"dev",
"name":"name2"}]
array2=[{
"type":"test",
"name":"name3"},
{
"type":"dev",
"name":"name4"},
{
"type":"prod",
"name":"name5"}]
ich gruppieren möchten zwei Arrays mit „Typ“ und erstellen Sie ein neues Array etwas wie folgt aus:
finalArray=[{
"type":"test",
"info":[{
"type":"test",
"name":"name1"}],
[{
"type":"test",
"name":"name3"
}]},
{
"type":"dev",
"info":[{
"type":"dev",
"name":"name2"}],
[{
"type":"dev",
"name":"name4"}]},
{
"type":"prod",
"info":[],
[{
"type":"prod",
"name":"name5"}]
}]
Gibt es trotzdem, dass ich dies mit Javascript, angularjs2, lodash, jquery erreichen kann. Ich bin in der Lage zu gruppieren und neues Objekt wie in using lodash .groupBy. how to add your own keys for grouped output?
erwähnt, aber nur, ich möchte immer die Daten aus dem zweiten Array in Index = 1 von "info" und erste zu Index = 0 schieben. Wenn eines der Arrays keinen "type" hat, sollte das "info" -Array leere/null-Werte haben.
deine Frage zu - "Typ": "prod" ju ist st im zweiten Array (array2), der Rest der Typen befindet sich in beiden Arrays - also wird im letzten Array der 'info'-Schlüssel gehalten - ein leeres Array (Typ nicht in Array1 vorhanden) und einer mit Schlüssel/Werten aus Array2 (wenn ich richtig verstehe) :) – sinisake
aktualisiert Basis auf Ihre Erklärung. es ist jetzt klar. – Chybie
@Chybie - Danke für die Lösung, die ich erwarte. Ich habe noch ein Problem, wie kann ich 'type' dynamisch in .map (x => x.type) übergeben. Weil ich dies in einer gemeinsamen Methode behielt, damit ich verschiedene Schlüssel gruppieren kann, indem ich den Schlüsselnamen als Parameter übergebe. – user3878988