Ejemplos destructuring

function extremos(cadenas) {
    let larga = cadenas[0];
    let corta = cadenas[0];
    for (let cadena of cadenas) {
        if (cadena.length > larga.length) {
            larga = cadena;
        }
        if (cadena.length < corta.length) {
            corta = cadena;
        }
    }
    return [corta, larga];
}

let alumnos = ["Ana", "Rodrigo", "Pepe"];

let [corto, largo] = extremos(alumnos);
console.log(corto);
console.log(largo)

let [mascorta] = extremos(alumnos);
let [, maslarga] = extremos(alumnos);
console.log(mascorta);
console.log(maslarga);

const myVehicle = {
    brand: 'Ford',
    model: 'Mustang',
    color: 'red'
}

const updateMyVehicle = {
    type: 'car',
    year: 2021,
    color: 'yellow'
}

const myUpdatedVehicle = { ...myVehicle, ...updateMyVehicle }
console.log(myUpdatedVehicle)
const nuevo = { ...myUpdatedVehicle, color: "pink" };
console.log(nuevo);

const noDesestructurado = { myVehicle, updateMyVehicle }
console.log(noDesestructurado)

const numbersOne = [1, 2, 3];
const numbersTwo = [4, 5, 6];
const numbersCombined = [numbersOne, numbersTwo];
console.log(numbersCombined);

let miObjeto={nombre:"Ana",edad:20,mail:"a@a.com",apellido:"Pi"};
console.log(miObjeto)
let {a,b,c}=miObjeto;
console.log(a,b,c)

let aa,bb;
[aa,bb]=[1,2,3];

console.log(aa,bb)

let nombre,edad;

// {nombre,edad}=miObjeto; Esto da error
({nombre,edad}=miObjeto); // Hay que ponerlo enter paréntesis
console.log(nombre,edad)
// o usar let
let {mail}=miObjeto;
console.log(mail)

let {mail:email}=miObjeto; // recupero la propiedad mail pero la renombro a email
console.log(email)

let {sueldo=1000}=miObjeto; // Como sueldo no existe coge el valor por defecto
console.log(sueldo)

let propiedadABuscar='apellido';
let {[propiedadABuscar]:prop}=miObjeto; // Siempre tenemo que poner un 'alias', en este caso prop
console.log(prop);

function saludo(nombre,apellidos){
    console.log("Hola "+nombre+" "+apellidos);
}

saludo(miObjeto.nombre,miObjeto.apellido);

function saludoDesestructurado({nombre,apellido}){
    console.log("Hola "+nombre+" "+apellido);
}

saludoDesestructurado(miObjeto);

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos