Skip to content

Exercise 20 - Testvorbereitung

// array mit objekten als elementen
let objArray = [];
// befülle das array mit objekten, wobei jedes objekt
// als eigenschaft die "position" hat, was dem index im array entspricht.
// füge 10 elemente ein (position 0 bis 9)
for (let i = 0; i < 10; i++) {
// variante 1:
objArray[i] = {
position: i,
numbersArray: [],
};
// zusatzaufgabe: füge in das objekt die zahlen 1 bis 20 ein
for (let j = 1; j <= 20; j++) {
objArray[i].numbersArray.push(j);
}
// variante 2:
// let obj = {
// position: i
// };
// objArray[i] = obj;
// variante 3:
// let obj = {
// position: i
// };
// objArray.push(obj);
}
/////////////////////////////////
// zweidimensionales array:
// jedes element ist ein buchstabe
// erstellung
let characterTable = [];
for (let i = 0; i < 10; i++) {
characterTable[i] = [];
for (let j = 0; j < 15; j++) {
// variante 1:
characterTable[i][j] = "#";
// variante 2:
// characterTable[i].push("#");
}
}
// ausgabe auf der konsole:
function drawTable() {
for (let i = 0; i < 10; i++) {
for (let j = 0; j < 15; j++) {
process.stdout.write(characterTable[i][j]);
}
console.log();
}
}
drawTable();
// aufgabe: setze alle buchstaben der vierten spalte auf 'A'
for (let i = 0; i < characterTable.length; i++) {
characterTable[i][3] = "A";
}
drawTable();
// aufgabe: setze alle buchstaben der sechsten zeile auf 'B'
for (let i = 0; i < characterTable[5].length; i++) {
characterTable[5][i] = "B";
}
drawTable();
// aufgabe: ersetze die achte zeile mit lauter 'C'
// verwende dafür die map methode
characterTable[7] = characterTable[7].map((x) => "C");
drawTable();
// aufgabe: filtere aus der ersten zeile alle elemente
// die eine raute sind und zähle wie viele rauten es sind.
// verwende dafü die filter-methode
let numberOfHashtags = characterTable[0].filter((x) => x == "#").length;
console.log(numberOfHashtags);
// vergleich: implementierung als schleife
let hashtagCount = 0;
for (let i = 0; i < characterTable[0].length; i++) {
if (characterTable[0][i] == "#") {
hashtagCount++;
}
}