JS array reduce

Enlaces:
https://www.w3schools.com/jsref/jsref_reduce.asp
https://medium.com/@xadrijo/un-vistazo-a-la-funci%C3%B3n-reduce-en-javascript-f4459bc4e3aa

   let suma = num.reduce((total, valor, indice, array) => {
        console.log(indice + "|" + total);
        return total + valor;
    });

    console.log(suma);

    let mayor = num.reduce((total, valor, indice, array) => {

        return total < valor ? valor : total;
    });
    console.log(mayor);

let alumnos=[
    {nombre:"ana",nota:8},
    {nombre:"eva",nota:3},
    {nombre:"pep",nota:8},
    {nombre:"ot",nota:5},
]

let suma=alumnos.reduce((total,valor)=>total+valor.nota,0);
let peor=alumnos.reduce((total,valor)=>total.nota>valor.nota?valor:total);

console.log(suma);
console.log(peor);
    //Ejercicio: crear una función que le pasemos una cadena y nos devuelva la palabra más corta y si hay varias más cortas la primera alfabeticamente
    //Ejemplo cadCorta("en un lugar de la mancha")->"de"