Neue Antwort erstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Informationen
Bitte geben Sie die untenstehenden Zeichen in das leere Feld ein. Groß- und Kleinschreibung müssen nicht beachtet werden. Sollten Sie das Bild trotz Neuladen nicht identifizieren können, wenden Sie sich an den Administrator.
Nachricht
  • :)
  • :(
  • ;)
  • :P
  • ^^
  • :D
  • ;(
  • X(
  • :*
  • :|
  • 8o
  • =O
  • <X
  • ||
  • :/
  • :S
  • X/
  • 8)
  • ?(
  • :huh:
  • :rolleyes:
  • :love:
  • 8|
  • :cursing:
  • :thumbdown:
  • :thumbsup:
  • :thumbup:
  • :sleeping:
  • :whistling:
  • :evil:
  • :saint:
  • <3
  • :!:
  • :?:
Maximale Anzahl an Dateianhängen: 10
Maximale Dateigröße: 1 MB
Erlaubte Dateiendungen: bmp, coffee, gif, jpeg, jpg, js, json, ls, pdf, png, txt, zip
Internet-Adressen werden automatisch erkannt und umgewandelt.
Smiley-Code wird in Ihrer Nachricht automatisch als Smiley-Grafik dargestellt.
Sie können BBCodes zur Formatierung Ihrer Nachricht nutzen.

Vorherige Beiträge 3

  • Mit dem Begriff "assoziatives Array" konnte ich bisher nichts anfangen. Mit ein bisschen googlen bin ich dann auf ein Konstrukt von php gestoßen.

    So wie ich das sehe, suchst du nach einem klassischen key-value store. Wie du bereits selbst bemerkt hast, entspricht das in JS am ehesten dem Objekt. Bitte verwende deshalb auch nicht mehr den Begriff Array. Das verwirrt nur unnötig.

    In der klassischen JS Welt gibt es da eigentlich nur 2 Möglichkeiten:

    Das Objekt
    Der key ist immer ein String und kann weder eine Nummer sein, noch mit einer beginnen. Der value kann hingegen alles sein. Auch ein anderes Object oder ein Array.

    JavaScript-Quellcode

    1. // Deklaration
    2. var myObject = {
    3. key1: 'value1'
    4. }
    5. // Setter
    6. myObject.key2 = 2 // Values können von belibigen Typ sein
    7. myObject['key3'] = 'value3'
    8. // Getter
    9. myObject.key2 // 2
    10. myObject['key3'] // 'value3'
    Alles anzeigen


    Das Array

    Um ein Array als key value store zu verwenden bettet man Subarrays ein. Da sich ein Eintrag im Array nur über einen Index ansprechen lässt, ist es in der klassischen JS Welt recht umständlich den gesuchten Wert anzusprechen. Dafür muss der key aber kein String mehr sein. Als großer Nachteil ist hier noch zu erwähnen, dass doppelte Einträge durchaus möglich sind.

    JavaScript-Quellcode

    1. // Definition
    2. var myArray = [
    3. ['key1', 'value1'],
    4. ]
    5. // Getter
    6. var entry
    7. for (var i = 0; i < myArray.length; i++) {
    8. if (myArray[i][0] === 'key1') {
    9. entry = myArray[i]
    10. break
    11. }
    12. }
    13. entry[1] // 'value1'
    14. // Setter
    15. // add
    16. myArray.push(['key2', 2])
    17. // modify
    18. entry[1] = 1
    Alles anzeigen

    In der modernen JS Welt hat man da noch zusätzliche Möglichkeiten:

    Das Objekt
    Mittlerweile kann man auch schon beim definieren von Objekten den key generieren. Zudem kann man anstelle eines String auch ein Symbol als key verwenden, wodurch sich der Zugriff besser schützen lässt.

    JavaScript-Quellcode

    1. // Deklaration
    2. const key3 = Symbol()
    3. let i = 1
    4. const myObject = {
    5. ['key' + i]: i++,
    6. [`key${i}`]: i++,
    7. [key3]: i
    8. }
    9. // Setter
    10. myObject[key3] = 'value3'
    11. // Getter
    12. myObject.key2 // 2
    13. myObject[key3] // 'value3'
    Alles anzeigen


    Das Array
    Der Umgang mit Arrays wurde durch zusätzliche Methoden vereinfacht.

    JavaScript-Quellcode

    1. // Getter
    2. myArray.find(entry => entry[0] === 'key1')[1] // 'value1'


    Die Map

    Die Map ist neu hinzugekommen. Sie hat die Vorteile der Array Lösung ohne deren Nachteile.

    JavaScript-Quellcode

    1. // Definition
    2. const myMap = new Map() // oder z.b. new Map(myObject.entries()) oder new Map(myArray)
    3. // Setter
    4. myMap.set('key1', 'value1')
    5. // Getter
    6. myMap.get('key1') // 'value1'
  • Hallo Forum,

    entschuldige... es ist meistens so das wenn man das Problem mal beschrieben hat, die Lösung findet.

    JavaScript-Quellcode

    1. let bezeichnungArray = {
    2. schluessel1: 'test1',
    3. schluessel2: 'test2',
    4. schluessel3: 'test3',
    5. }

    Trotzdem wenn jemand einen besseren Weg kennt, lerne ich gerne mehr dazu.
  • TypeScript assoziative Arrays?

    John

    Hallo Forum,

    ich hab erst vor drei Tagen mit JavaScript, Node.js angefangen und bin seit zwei Tagen an TypeScript hängen geblieben. ^^

    Weiß garnicht ob hier auch TypeScript supported wird... wenn doch:

    Wie erstelle ich etwas vergleichbaren wie ein assoziatives Array, sammlt selbst definierter Schlüssel und deren Werte? :cursing:
    Offentsichtlich wird das garnicht unterstützt, deswegen suche ich auch allgemein eine vergleichbare Lösung.

    Ich suche sowas wie ein assoziatives Array, da ich für eine funktion gerne lieber ein Array mit 30 Werten übergebe, und später darauf referenziere als 30 unterschiedliche Werte IMMER IN DER GLEICHEN REIHNFOLGE der Funktion übergebe. :S

    Würd' mich auf Hilfe freuen.
    Gruß John