Ich habe eine folgende Liste in Javascript.Javascript - Entfernen Sie genaue doppelte Zeile aus Array
var list = [{
ID: "2566",
NAME: "ENTERPRISE EXPENSE",
EXECUTE: "LOAD_DIMENTION",
TYPE: "PROCEDURE"
},
{
ID: "1234",
NAME: "LOAD EXPENSE FACT",
EXECUTE: "LOAD_EXPENSE_FACT",
TYPE: "STORED PROCEDURE"
},
{
ID: "RI0031",
NAME: "LOAD HEAD COUNT",
EXECUTE: "LOAD_HEADCOUNT_FACT",
TYPE: "STORED PROCEDURE"
},
{
NAME: "Not Required",
EXECUTE: "Not Required",
TYPE: "Not Required"
},
{
NAME: "Duplicate",
EXECUTE: "Duplicate",
TYPE: "Duplicate"
},
{
ID: "RI04",
NAME: "CALCULATE FAST",
EXECUTE: "FF_CALC",
TYPE: "STORED PROCEDURE"
},
{
NAME: "FORMULAS",
EXECUTE: "FF_CALC",
TYPE: "STORED PROCEDURE"
},
{
ID: "RI0031",
NAME: "LOAD HEAD COUNT",
EXECUTE: "LOAD_HEADCOUNT_FACT",
TYPE: "STORED PROCEDURE"
},
{
ID: "RI04",
NAME: "CALCULATE FAST",
EXECUTE: "FF_CALC",
TYPE: "STORED PROCEDURE"
},
{
NAME: "FORMULAS",
EXECUTE: "FF_CALC",
TYPE: "STORED PROCEDURE"
},
{
ID: "RID005",
NAME: "CALCULATE FAST GROUP",
EXECUTE: "FF_CALC",
TYPE: "STORED PROCEDURE"
},
{
NAME: "Not Required",
EXECUTE: "Not Required",
TYPE: "Not Required"
},
{
NAME: "Duplicate",
EXECUTE: "Duplicate",
TYPE: "Duplicate"
}
];
Diese Liste enthält viele doppelte Zeilen. Ich möchte alle doppelten Zeilen daraus entfernen.
Das Objekt kann auch mehr 10 Eigenschaften haben, daher ist das Überprüfen jeder Eigenschaft nicht die Lösung. Plus, egal, wie ich online kam, sind entweder für 1-dimensionale Array oder Duplikate durch spezifische Eigenschaft zu entfernen. Wie kann ich eine Liste mit allen eindeutigen Zeilen verwalten?
Was ich mir vorstellen konnte, ist der Vergleich der JSON-Version des Objekts. Wie folgt: 'JSON.stringify (obj1) === JSON.stringify (obj2)'. Das wäre schnell genug, denke ich, aber die Reihenfolge der Elementeigenschaften wäre wichtig. Ist das ein Problem? – Scalpweb
Keine Bestellung ist kein Problem. Aber selbst wenn ich jede Reihe mit allen anderen vergleiche, wird der Prozess nicht zu langsam sein? Mit zunehmender Listengröße wird die Komplexität zunehmen. –
Die Antwort von "Kind Benutzer" ist genau das, was ich im Sinn hatte. Der JSON.stringify-Prozess ist der schnellste Weg, um zwei Objekte in JS zu vergleichen. Ich würde sagen, Sie müssen einen Benchmark erstellen, um zu überprüfen, ob es schnell genug ist, aber es sollte in Ordnung sein. – Scalpweb