Diferència entre revisions de la pàgina «M06 UF1A3. Teoria»

De wikijoan
Salta a la navegació Salta a la cerca
m
Línia 1: Línia 1:
 +
=Scripts de classe=
 +
*[[Fitxer:Curs javascript developer mozilla.zip]] (actualitzat 28/10/2021)
 
=T11. Treballar amb objectes=
 
=T11. Treballar amb objectes=
 
*https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Working_with_Objects
 
*https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Working_with_Objects

Revisió del 15:28, 28 oct 2021

Scripts de classe

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