Ich habe ein Arrays innerhalb eines Objekts wie dieses zum Beispiel:
{1: Array(4), 2: Array(4), 3: Array(4)}
1: (4) ["11111", "2020-04-02", "14:07", 1]
2: (4) ["22222", "2020-04-02", "14:07", 2]
3: (4) ["3333333", "2020-04-02", "14:07", 3]
(from console log)
In meinem Code gibt es eine Option zum Hinzufügen eines Arrays und zum Löschen eines Arrays. Und wenn ich zum Beispiel das zweite Array lösche, wird es zu folgendem:
{1: Array(4), 3: Array(4)}
1: (4) ["11111", "2020-04-02", "14:07", 1]
3: (4) ["3333333", "2020-04-02", "14:07", 3]
(from console log)
Wie mache ich das dritte Objekt zu 2? Lassen Sie das Objekt vom niedrigen zum hohen DANKE verwalten.
Wenn Sie Ihr Objekt in ein Array-ähnliches Objekt konvertieren , können Sie damit Array-Methoden verwenden.
Ein Array-ähnliches Objekt benötigt grundsätzlich eine lengthEigenschaft und Schlüssel, die positive ganze Zahlen sind. Der lengthmuss auf eins mehr als den höchsten Index gesetzt werden. Wenn Sie also Schlüssel haben 1, 2, 3, brauchen Sie diese length: 4. Ja, es ist etwas irreführend, da es nur drei Elemente gibt, aber lengthgenauer als "nächster verfügbarer Index" bezeichnet wird.
Wenn Sie Ihr Objekt transformieren, können Sie Array#splicedas Ziel auf jeden Fall verwenden und festlegen Function#call. Die meisten Array-Methoden sind absichtlich generisch, sodass sie mit allem arbeiten können, was einem Array ähnelt:
const obj = {
1: ["foo"],
2: ["bar"],
3: ["baz"],
length: 4
}
//delete starting from index 2 and remove 1 item
Array.prototype.splice.call(obj, 2, 1)
console.log(obj);
Beachten Sie, wie sich die Indizes nach dem gelöschten verschoben haben und der lengthebenfalls automatisch angepasst wurde.
Wenn Sie nicht wissen, was das lengthaktuell ist, können Sie es leicht finden:
const obj = {
1: ["foo"],
2: ["bar"],
3: ["baz"]
}
const keys = Object
.keys(obj) //get all keys
.map(Number) //convert to numbers
.filter(key => Number.isInteger(key) && key >= 0); //leave only positive integers
//find the highest
const highestKey = keys.reduce((a, b) => Math.max(a, b), -1);
//set the length to the next possible index
obj.length = highestKey + 1;
//delete starting from index 2 and remove 1 item
Array.prototype.splice.call(obj, 2, 1)
console.log(obj);
Wenn Sie im obigen Objekt das zweite Array löschen, wird nur dieser Schlüssel entfernt, und dies hat keine Auswirkungen auf andere Schlüssel. Weil Objektschlüssel als Kennung dienen, um auf die Position des Werts zuzugreifen, der diesem Schlüssel entspricht.
Wenn Sie möchten, dass andere Schlüssel die Zuordnung auf Bestellung zurücksetzen. Bitte verwenden Sie ein Array von Arrays anstelle von Objekten mit Arrays als Werten.
Array - geordnete Elemente mit Zahlenindizes Objekt - ungeordnete Elemente mit gültigen Zeichenfolgen- oder Zahlenindizes.
Wenn ein Objekt verwendet werden muss, finden Sie hier die Lösung, um dies manuell zu tun:
iAnalysieren Sie für den Index , der entfernt werden muss, die nächsten Indizes (numerisch größer als i), um key = key - 1 zu erhalten, dh verringern Sie deren Indexschlüssel um 1.
// index is treated from 1 to n.
const deleteElement = (delete_index, obj) => {
const keyCount = Object.keys(obj).length;
// move all elements with keys > delete_index to previous index
for(let i=delete_index; i<=keyCount; i++) {
obj[i] = obj[i+1]
}
// delete last element
delete obj[keyCount]
}
Jana Duggar äußerte sich offen zu ihrer Suche nach Liebe. Hier ist alles, was sie zu diesem Thema und ihrem fünfjährigen Zeitfenster für die Ehe gesagt hat.
„Outlander“-Star Sam Heughan verriet kürzlich, was er vom Set mitnehmen wird, um an Jamie Fraser zu erinnern, die Rolle, die ihn zum Star gemacht hat.
„She Loves You“ wurde in einer Stunde geschrieben, an einem Tag aufgenommen und war der Song der Beatles mit einem ihrer besten Auftritte in ihrer Karriere.
Dolly Parton und ihre Oma Bessie hatten eine besondere Beziehung. Oma Parton war sehr krank, aber das hielt Dolly nicht davon ab, ihr einen Streich zu spielen.
Man könnte meinen, Eiche oder Hickory seien robust, aber wenn es um die härtesten Hölzer der Welt geht, kommen sie nicht einmal annähernd heran.
Der Ozean ist voller Schönheit, birgt aber auch einige der furchterregendsten Meeresbewohner unseres Planeten. Viele dieser Tiere lauern tief unter der Meeresoberfläche, in der dunklen, von hohem Druck geprägten Tiefsee.
Wenn du gegen feindliche Monster kämpfst oder dich für PvP-Situationen ausrüstest, kann dir das Wissen um die besten Schwertverzauberungen in Minecraft einen entscheidenden Vorteil verschaffen. Durch das Verzaubern von Schwertern verursachst du mehr Schaden, erhältst mehr Beute von Monstern und verlängerst die Haltbarkeit deines Schwertes.
Wenn von sozialistischen Ländern die Rede ist, stellt man sich oft die vollständige Kontrolle durch den Staat und das Fehlen von Privateigentum vor. In der Praxis unterscheiden sich sozialistische Wirtschaftssysteme jedoch stark.
„Children“ hinterlässt einen Cameo-Auftritt eines großen Namens und einige verheerende Neuigkeiten
Dieser RAV4 soll sich in ausgezeichnetem Zustand befinden und ist bereit für eine Partie Reise nach Jerusalem.
Auf Drohnenaufnahmen ist zu sehen, dass die Feuerwehrleute offenbar Mühe haben, den Brand zu löschen.
„Eyes of Wakanda“ ist direkt mit dem MCU verknüpft und bietet Updates zu „X-Men ’97“, „What If...“, „Daredevil“ und mehr.
Ava Gardner war mit Mickey Rooney und Frank Sintra verheiratet und datete mehrere andere Hollywoodstars. Hier ist ein Rückblick auf Ava Gardners Dating-Geschichte.
John Cleese heiratete seine Frau Jennifer Wade im Jahr 2012. Hier erfahren Sie alles Wissenswerte über John Cleeses Frau Jennifer Wade.
Iman und David Bowie bekamen im Jahr 2000 ihre Tochter Alexandria „Lexi“ Jones. Hier erfahren Sie alles Wissenswerte über ihre Tochter Alexandria „Lexi“ Jones.
Walker Scobell ist ein US-amerikanischer Schauspieler. Hier finden Sie alles, was Sie über den Star aus „Percy Jackson und die Olympier“ wissen müssen.
Es fällt mir plötzlich auf, wie so oft. Es ist wieder die Mitte. <Nein, nicht die im Pazifik, du Schlappschwanz, die auf dem Jahrmarkt> Jede Schlagzeile laut…..
Im Jahr 2022, mit der Veröffentlichung von GPT-3, scheinen Schreibfähigkeiten an Bedeutung zu verlieren. Mit KI können auch Menschen mit schlechten Schreibkenntnissen hochwertiges Personal hervorbringen.
In der heutigen schnelllebigen und wettbewerbsintensiven Welt spielt die Karriere eine wichtige Rolle für das persönliche Wachstum, die finanzielle Stabilität und die allgemeine Lebenszufriedenheit. Viele Menschen befinden sich jedoch in einem unerbittlichen Kreislauf aus Stagnation und Unzufriedenheit, der ihr Berufsleben allmählich verkümmert.
Letzte Woche fiel mir eine Pressemitteilung auf, die über PressGazette (eine britische Nachrichten-Website für Medien) verschickt wurde. In dem Artikel wurde angekündigt, dass Acast, das skandinavische Podcast-Hosting- und Werbeunternehmen, ein Konsortium der „wahrscheinlich einflussreichsten“ Verlage im Podcasting leiten werde.