[JavaScript] Assoziatives Array

Array

// Definition
let language = new Array();
language["DE"] = "Guten Morgen";
language["EN"] = "Good morning";
language["IT"] = "Buongiorno";
language["FR"] = "Bonjour";

// Guten Morgen User!
console.log(language["DE"] + " " + "User!");

// ["DE","EN","IT","FR"]
var aKeys = Object.keys(language);
console.log(JSON.stringify(aKeys));

// 12
console.log(language["DE"].length);
// 0
console.log(language.length);

Object

// Definition
let language = new Object();
language["DE"] = "Guten Morgen";
language["EN"] = "Good morning";
language["IT"] = "Buongiorno";
language["FR"] = "Bonjour";

// Guten Morgen User!
console.log(language["DE"] + " " + "User!");

// ["DE","EN","IT","FR"]
var aKeys = Object.keys(language);
console.log(JSON.stringify(aKeys));

// 12
console.log(language["DE"].length);
// undefined
console.log(language.length);

[JavaScript] Array filtern

// Alter, nach dem das Personenarray gefiltert werden soll
let filter_age = 60;

// Array mit Namen und Alter
let arr_persons = [ { name:"Horst", age:50 },
                    { name:"Udo", age:55 },
                    { name:"Heinz", age:60 },
                    { name:"Ede", age:65 } ];

// neues, gefiltertes Array
let arr_filtered = arr_persons.filter( function(p){
  return p.age >= filter_age;
} );

// Ausgabe des gefilterten Arrays
arr_filtered.forEach(function(p){
  console.log(p.name + ": " + p.age);
});

[JavaScript] Array sortieren

// https://www.w3schools.com/jsref/jsref_sort.asp

// einfaches Sortieren
let arr = ['rot', 'grün', 'blau'];
arr.sort();
console.log(arr);

// über compare-Funktion sortieren
let arr = [20, 10, 1, 4, 8, 70];
// aufsteigend
arr.sort(function(a, b) { return a-b; } );
console.log(arr);

let arr = [20, 10, 1, 4, 8, 70];
// absteigend
arr.sort(function(a, b) { return b-a; } );
console.log(arr);

[JavaScript] Arrays definieren

Eindimensionale Arrays

// https://www.w3schools.com/jsref/jsref_obj_array.asp
// https://www.w3schools.com/js/js_array_methods.asp

// leeres array
let arr_e = [];
console.log(arr_e.length);

// String array
let arr_s = ["a", "b", "c"];
for (let s in arr_s)
{
    console.log(arr_s[s]);
};

// Float array
let arr_f = [1.1, 2.1, 0.3];
for (let f in arr_f)
{
  console.log(arr_f[f]);
}

// Int array
let arr_i = [1, 2, 3];
for (let i in arr_i)
{
    console.log(arr_i[i]);
}

// new Array()
let arr_col = new Array('rot', 'grün', 'blau');

for (let c in arr_col)
{
    console.log(arr_col[c]);
}

// new Array()
let arr = new Array(2);

arr[0] = 1;
arr[1] = "Ede";

for (let c in arr)
{
    console.log(arr[c]);
}

Mehrdimensionale Arrays

// Array in Literalschreibweise
let person = [
  {
    Name: "Udo",
    Alter: 30,
    Ort: "Dresden",
    Handys: {
      Samsung: "S9",
      Huawei: "P20"
    }
  },
  {
    Name: "Heinz",
    Alter: 40,
    Ort: "Berlin",
    Handys: {
      Samsung: "S8",
      Huawei: "P8 Lite"
    }
  },
  {
    Name: "Ede",
    Alter: 50,
    Ort: "Bonn",
    Handys: {
      Samsung: "S7",
      Huawei: "Nova"
    }
  }
];

person.forEach(function(p, a)
{
    console.log("Person: " + a);
                
    for (let attr in p)
    {
        if (attr != "Handys")
        {
          console.log("  " + attr + ": " + p[attr]);
        }
        else
        {
          console.log("    " + p[attr].Samsung );
          console.log("    " + p[attr].Huawei );
        }
    }
});