Share
Embed
Array methods
Qué mejor que conocer los métodos nativos que JS nos ofrece para manipular Arrays. Map, Reduce, filter, find... Solo por mencionar algunos.
Jesse cogollo
February 05, 2019
Transcript
46 slides
-
Motivación Qué mejor que conocer los métodos nativos que JS
nos ofrece para manipular Arrays. -
¿Qué conoceremos hoy? • .length() • .from() • .isArray() •
.of() • .concat() • .every() • .fill() • .filter() • .find() • .findIndex() • .forEach() • .includes() • .indexOf() • .join() • .keys() • .lastIndexOf() • .map() • .pop() -
¿Qué conoceremos hoy? • .push() • .reduce() • .reduceRight() •
.reverse() • .shift() • .slice() • .some() • .sort() • .splice() • .toLocaleString() • .toSource() • .toString() • .unShift() • .values() v10.9 -
Y si tenemos tiempo... • .copyWithin() • .entries() • .flat()
v11 • .flatMap() v11 -
Antes de comenzar... Para iniciar, vamos a obtener la información
de la API de meetup.com Específicamente utiliazando este endpoint: http://api.meetup.com/medellinjs/events?status=past Que básicamente, nos entrega el histórico de meetups que ha hecho medellinjs desde sus inicios. Código: https://github.com/jessecogollo/arrayMethods/tree/01-set-data -
.length() Este método nos retorna el número de elementos en
el array. Código: https://github.com/jessecogollo/arrayMethods/tree/02-length -
.from() Este método retorna una copia de un array especificado.
Recibe dos parámetros, el primero obligatorio que es el array a copiar, el segundo es una función que hará un map de los elementos. Código: https://github.com/jessecogollo/arrayMethods/tree/03-from -
.isArray() Este método determina si un valor que se le
pasa por parámetro es un array. Código: https://github.com/jessecogollo/arrayMethods/tree/04-isArray -
.of() Este método retorna un nuevo array cuyos elementos son
los parámetros que se le pasaron en la función. Código: https://github.com/jessecogollo/arrayMethods/tree/05-of -
.concat() Este método retorna un nuevo array cuyos elementos del
array son los parámetros que se le pasaron en la función. Código: https://github.com/jessecogollo/arrayMethods/tree/06-concat -
.every() Este método retorna true o false, dependiendo si todos
los elementos cumplen con la condición que se establece en la función que se pasa como parámetro. Código: https://github.com/jessecogollo/arrayMethods/tree/07-every -
.fill() *veneno Este método rellena con un valor fijo, los
elementos que se le definan en el segundo y tercer parametro, si no se define rellena todo el array. Código: https://github.com/jessecogollo/arrayMethods/tree/08-fill -
.filter() Este método retorna un nuevo array con los elementos
que cumplan la condición establecida en la función que se le pasa como parámetro. Código: https://github.com/jessecogollo/arrayMethods/tree/09-filter -
.find() Este método retorna el primer elemento que cumpla la
condición establecida en la función que se le pasa como parámetro. Código: https://github.com/jessecogollo/arrayMethods/tree/10-find -
.findIndex() Este método retorna el primer index que cumpla la
condición establecida en la función que se le pasa como parámetro. De no encontrar ningún elemento retorna -1. Código: https://github.com/jessecogollo/arrayMethods/tree/11-findIndex -
.forEach() Este método simplemente recorre el array y nos da
acceso a cada elemento. Código: https://github.com/jessecogollo/arrayMethods/tree/12-forEach -
.includes() Este método retorna true o false, si este encuentra
al menos un elemento que sea igual al parámetro que se le pasa en la función. Código: https://github.com/jessecogollo/arrayMethods/tree/13-includes -
.indexOf() Este método retorna el index de un array cuando
un elemento es encontrado, o -1 si no se encuentra ningún elemento. Código: https://github.com/jessecogollo/arrayMethods/tree/14-indexOf -
.join() Este método retorna un string concatenado por el parámetro
(separador). Código: https://github.com/jessecogollo/arrayMethods/tree/15-join -
.lastIndexOf() Este método retorna el último índice del array, donde
fue encontrado el elemento que se definió en el primer parámetro. Código: https://github.com/jessecogollo/arrayMethods/tree/17-lastIndex -
.map() Este método retorna un nuevo array con el valor
retornado por cada elemento del array. Código: https://github.com/jessecogollo/arrayMethods/tree/18-map -
.pop() *veneno Este método remueve el último elemento de un
array y retorna el elemento removido. Código: https://github.com/jessecogollo/arrayMethods/tree/19-pop -
.push() *veneno Este método retorna agrega uno o más elementos
al final de un array y retorna el length del array. Código: https://github.com/jessecogollo/arrayMethods/tree/20-push -
.reduce() Este método retorna un valor definido por la función
reducer. Código: https://github.com/jessecogollo/arrayMethods/tree/21-reduce -
.reduceRight() Igual que el reduce, solo que este recorre el
array de derecha a izquierda. Código: https://github.com/jessecogollo/arrayMethods/tree/22-reduceright -
.shift() *veneno Este método retorna el primer elemento de un
array, y modifica el tamaño del array original. Código: https://github.com/jessecogollo/arrayMethods/tree/24-shift -
.slice() Este método retorna una porción de un array, la
porción es definida por los valores en los parámetros(recibe dos, valor inicial y valor final). Código: https://github.com/jessecogollo/arrayMethods/tree/25-slice -
.some() Este método retorna true o false. true si al
menos un elemento cumple la condición proporcionada en la condición. Nota: si el array a evaluar es vacío === [] siempre va a retornar false sin importar la condición. Código: https://github.com/jessecogollo/arrayMethods/tree/26-some -
.sort() Este método ordena un array. si no se pasan
parámetros ordena con el valor en UTF-16, o se le pueden pasar dos parámetros que son los que se van a comparar. Código: https://github.com/jessecogollo/arrayMethods/tree/27-sort -
.splice() *veneno Este método cambia el contenido de una array
ya sea, añadiendo, reemplazado o eliminado el elemento. recibe tres ó mas elementos: start(integer): donde le decimos desde que índice va a operar. deleteCount(integer): especificamos la cantidad de elementos a eliminar. item1, item2, itemn…: indicamos el/los elementos que queremos insertar. Código: https://github.com/jessecogollo/arrayMethods/tree/28-splice -
.toLocaleString() Este método retorna un string del elemento, es especial
para Dates. Código: https://github.com/jessecogollo/arrayMethods/tree/19-tolocalestring -
.toSource() *no usar en producción. Este método retorna un string
con el código fuente del array. Código: https://github.com/jessecogollo/arrayMethods/tree/30-tosource -
.toString() Este método retorna un string de los elementos del
array. Código: https://github.com/jessecogollo/arrayMethods/tree/31-tostring -
.unShift() *veneno Este método retorna el tamaño del array y
agrega uno o más elementos al inicio de un array. Código: https://github.com/jessecogollo/arrayMethods/tree/32-unshift -
.values() Este método retorna un array iterator, que contiene los
elementos del array. Código: https://github.com/jessecogollo/arrayMethods/tree/33-values -
.copyWithin() *veneno Este método copia un elemento de un array,
en otra posición del mismo array. recibe tres parámetros: • la posición donde se va a copiar • el elemento que se va a copiar • el límite de elementos a copiar Código: https://github.com/jessecogollo/arrayMethods/tree/34-copywithin -
.entries() Este método retorna un array iterator con la llave
valor de cada elemento del array. Código: https://github.com/jessecogollo/arrayMethods/tree/35-entries -
.flat() Este método retorna un nuevo array “aplanado” si este
tiene contiene array(s) como elementos. Recibe un parámetro, en donde se le especifica que tan anidado debe hacer el “aplanado”. Código: https://github.com/jessecogollo/arrayMethods/tree/36-flat -
.flatMap() Este método retorna un nuevo array. Es la combinación
eficiente de hacer un map y un flat a un array. recibe una función(callback) como único parámetro. Código: https://github.com/jessecogollo/arrayMethods/tree/37-flatmap -
¿Preguntas? *disclaimer: las marcadas como veneno, significa que sin las
utilizan es bajo su propia responsabilidad.