Lassen Sie uns sagen, ich habe diese Aufgabe:sortieren Änderungen/bearbeitete Liste von Objektdaten in einem Array
{
"data": {
"result": [
{
"id": 25,
"lineNo": "222",
"description": "hello"
},
{
"id": 30,
"lineNo": "765",
"description": "hmmm"
},
{
"id": 31,
"lineNo": "112",
"description": "last"
}
]
}
}
und dann habe ich description
in id 30 von hmmm
zu ändern:
{
"id": 30,
"lineNo": "765",
"description": "should be first"
},
und es wird wie folgt:
{
"data": {
"result": [
{
"id": 25,
"lineNo": "222",
"description": "hello"
},
{
"id": 30,
"lineNo": "765",
"description": "should be first"
},
{
"id": 31,
"lineNo": "112",
"description": "last"
}
]
}
}
Meine Frage ist, wie kann ich ändern/sortieren, nachdem ich bearbeitet habe das Objekt? Ich mag das letzte bearbeitete Objekt an der Spitze wie folgen aus:
{
"data": {
"result": [
{
"id": 30,
"lineNo": "765",
"description": "should be first"
},
{
"id": 25,
"lineNo": "222",
"description": "hello"
},
{
"id": 31,
"lineNo": "112",
"description": "last"
}
]
}
}
ich auch Lodash Bibliothek verwenden, wenn jemand ein Beispiel mit lodash kennen oder native bitte mich darauf verweisen. Danke im Voraus.
Das ist interessant. Ein Hinweis, 'array.prototype.every', würde Sie auf den Weg bringen. – Mouser
@Mouser, mehr ['forEach'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach) –
Sie müssen die Spuren der geänderten Objekte behalten. Wenn Sie die Möglichkeit haben, den Code zu ändern, der diese Änderungen vornimmt, oder dort einen Haken setzen können, müssen Sie lediglich eine Warteschlange mit den geänderten Objekten und dann einen einfachen Algorithmus für die geänderten Elemente und dann alle im Array verbliebenen Elemente beibehalten diese Reihenfolge. Wenn Sie jedoch nicht kontrollieren können, wann diese Änderungen auftreten, müssen Sie möglicherweise Object.observe verwenden. –