M06 UF1A3. Teoria
La revisió el 15:28, 28 oct 2021 per Joan (discussió | contribucions)
Scripts de classe
- Fitxer:Curs javascript developer mozilla.zip (actualitzat 28/10/2021)
T11. Treballar amb objectes
T12. Repàs de prototype
prototype és una propietat dels objectes String, Number, Date, Array, RegExp,... que ens permet definir un nou mètode a aquests objectes.
Ex 1. L'objecte Array no té un mètode per fer shuffle (desordenar). Tenim la següent funció que fa la feina:
function shuffle(array) {
let currentIndex = array.length, randomIndex;
// While there remain elements to shuffle...
while (currentIndex != 0) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex--;
// And swap it with the current element.
[array[currentIndex], array[randomIndex]] = [
array[randomIndex], array[currentIndex]];
}
return array;
}
// Used like so
var arr = [2, 11, 37, 42];
shuffle(arr);
console.log(arr);
A partir d'aquesta funció, creem el mètode desordenar() dels Array.
Array.prototype.desordenar = function() { return shuffle(this) }
Comprovem que funciona:
var arr = ['a','b','c','d']; console.log(arr.desordenar());
Ex 2. Ara que ja sabem desordenar arrays, ara desordenarem strings, aprofitant que ja sabem desordenar arrays:
String.prototype.desordenar = function() {
var arr=this.split("");
arr.desordenar();
return arr.join("");
}
Per exemple, anem a crear el mètode desordenar() que desordeni els caràcters d'una cadena, de forma aleatòria
var cad = "supercalifragilisticoespialidoso"; console.log(cad.desordenar())
creat per Joan Quintana Compte, octubre 2021