document.addEventListener("DOMContentLoaded", function(){
let numbers = [1, 2, 3, 4, 5, 6, 7, 8, 11, 12, 34, 10, 4, 656, 234, 31, 1, 2, 3, 43, 1, 10,23, 42, 12];
document.getElementById("theArray").textContent = "The array we are working on: " + numbers;
let out = document.getElementById("outputter");
out.innerHTML += "Maximum of the array: " + Math.max(...numbers) + "
"; //The spread operator!!!!! With ... you can "unpack" a list and call the function with the parameters of single elements, not with the list
out.innerHTML += "Minimum of the array: " + Math.min(...numbers) + "
";
let text = "This is a complex text with words!";
let textarray = [...text];
out.innerHTML += "The text I'll use for an array: " + text + "
";
out.innerHTML += "The text array: " + textarray + "
";
out.innerHTML += "The text with dashes " + textarray.join("-") + "
";
let fruits = ["Apple", "Preal", "Plum", "Banana", "Orange"];
let vegetables = ["Carrot", "pepper", "Celery", "Potatos"];
out.innerHTML += "Fruit list: " + fruits + "
";
out.innerHTML += "Fruit list: " + vegetables + "
";
out.innerHTML += "Combined list: " + [...vegetables, ...fruits, "pearl"] + "
";
function mergedfruit(...elements) { //Get varying amount of elements and merge it with the "spread out" operator or !! rest operator !!
out.innerHTML += "Collection: " + elements + "
";
}
mergedfruit("sth1", "sth2", "sth3");
function summariser(...numbers){
let sum = 0;
for(let item in numbers){
sum += Number(item);
}
return sum;
}
out.innerHTML += "Some Sum: " + summariser(1,2,3,4,5,6,7,8) + "
";
document.getElementById("dicerollerimageloader").onclick = function(){ //Imageloader
const res = document.getElementById("diceimages");
const imagenumber = document.getElementById("numberofimages").value;
let images = [];
for(i = 0; i < imagenumber; i++){
let rand = Math.floor(Math.random() * 6)+1;
images.push(`
`);
}
res.innerHTML = images.join('');
}
});
//https://youtu.be/lfmg-EJ8gm4?si=78bU7V4mL7MVoYw_&t=14391
//Callback functions!!!
function sum(callback, a, b) {
let suma = a + b;
callback(suma);
}
function summa(b, a) {
return b + a
}
function displaynum(num) {
console.log("The number: ", num);
}
function displaytxt(num) {
console.log("The Text: ", num);
}
sum(displaynum, 5, 8);
sum(displaytxt, "alma", "fa");
sum(console.log, 5, 7 )
let numberok = [1, 2, 3, 4, 5]
numberok.forEach(displaynum) //!!! .forEach() METHOD!!!!!!
let numbbb = numberok.map(doubler); //map()
console.log(numbbb);
function doubler(params) {
return params**2;
}
let nummb = numberok.filter(ifeven) //filterer()
console.log(nummb);
function ifeven(n){
return n % 2 === 0;
}
let total = numberok.reduce(summa) //reduce()
console.log(total)
//https://youtu.be/lfmg-EJ8gm4?feature=shared&t=17107
//Funcion Expressions
const hello = function(){
console.log("HELLO");
}
hello();
setTimeout(function(){
console.log("HOLA");
}, 3000);
//Arrow functions
const squaros = numberok.map((element) => Math.pow(element, 2));