No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

ES13: at

33/35
Recursos

El m茅todo at de arrays sirve para acceder a los elementos a partir del 铆ndice.

array.at(铆ndice)

脥ndices positivos y negativos en arrays

Los 铆ndices positivos comienzan desde 0 hasta la longitud total menos uno, de izquierda a derecha del array. El 铆ndice 0 es la primera posici贸n.

[0,1,2,3, ...., lenght-1]

Los 铆ndices negativos comienzan desde -1 hasta el negativo de la longitud total del array, de derecha a izquierda. El 铆ndice -1 es la 煤ltima posici贸n.

[-lenght, ...,  -3, -2, -1]

C贸mo utilizar el m茅todo at

La utilidad m谩s importante de este m茅todo es para manejar 铆ndices negativos. Algo que no se puede con la notaci贸n de corchetes.

const nombres = ["Andres", "Valeria", "Ana", "Ramiro", "Richard"]

nombres.at(-1) // "Richard"
nombres[-1] // undefined
nombres.at(-3) // "Ana"
nombres[nombres.length -1] // "Richard"

Puedes utilizar la notaci贸n de corchetes, pero necesitas obtener la longitud del array y restarle una unidad, generando mucho c贸digo que puede volverse dif铆cil de leer.

nombres[nombres.length -1] // "Richard"

Contribuci贸n creada por Andr茅s Guano (Platzi Contributor).

Aportes 34

Preguntas 1

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Hola Chic@s 馃槂

ES13:

  • at
const array = ["one", "two", "three", "four", "five", "six"];

console.log(array[array.length - 1]);
console.log(array.at(-1));

El m茅todo at() recibe un valor num茅rico entero y devuelve el elemento en esa posici贸n, permitiendo valores positivos y negativos. Los valores negativos contar谩n desde el 煤ltimo elemento del array.
Esto no sugiere que haya algo mal con usar la notaci贸n de corchetes. Por ejemplo, array[0] devolver铆a el primer elemento. Sin embargo, en lugar de usar array.length para los 煤ltimos elementos
Mdn

Aqu铆 la fake api de Platzi.

El 铆ndice negativo de .at devuelve el elemento del array contando desde el 煤ltimo elemento hacia al primero.
Si bien array_at(-1) devuelve el 煤ltimo elemento,
array_at(-2) devuelve el pen煤ltimo.
Si la magnitud del 铆ndice negativo exede la longitud del array, devolver谩 Undefined, igual que al solicitar un 铆ndice positivo que exceda el final del array.

Este est谩 interesante, hace lo mismo pero con c贸digo mas limpio y claro.

El m茅todo at() recibe un valor num茅rico entero y devuelve el elemento en esa posici贸n, permitiendo valores positivos y negativos. Los valores negativos contar谩n desde el 煤ltimo elemento del array.

Esto no sugiere que haya algo mal con usar la notaci贸n de corchetes. Por ejemplo, array[0] devolver铆a el primer elemento. Sin embargo, en lugar de usar array.length para los 煤ltimos elementos; ej. array[array.length-1] para el 煤ltimo elemento, puede llamar array. at(-1).

para los que necesiten actualizar a la version 16 de node esta es una guia

33/35 ES13: at
El m茅todo at de los arrays en JavaScript permite acceder a los elementos utilizando 铆ndices positivos y negativos, siendo 煤til para manejar los 铆ndices negativos.

Ejemplo Acceder al primer y 煤ltimo elemento del array utilizando el m茅todo at y los indices positivos y negativos:

const frutas = ['manzana', 'pera', 'naranja', 'pl谩tano'];

// Acceder al primer elemento del array con el 铆ndice positivo 0
console.log(frutas.at(0)); // 'manzana'

// Acceder al 煤ltimo elemento del array con el 铆ndice negativo -1
console.log(frutas.at(-1)); // 'platano'

Acceder a un elemento en el medio del array utilizando el m茅todo at y los 铆ndices positivos y negativos:

const numero = [10, 20, 30, 40, 50];

// Acceder al elemento en la posici贸n 2 del array con el 铆ndice positivo 2
console.log(numeros.at(2)); // 30

// Acceder al elemento en la posici贸n 3 del array con el 铆ndice negativo -2
console.log(numero.at(-2)); // 40

Mostrar la diferencia entre el uso del m茅todo at y la notaci贸n de corchetes para acceder al 煤ltimo elemento del array:

const colores = ['rojo', 'verde', 'azul'];

// Acceder al 煤ltimo elemento del array con el m茅todo at
console.log(colores.at(-1)); // azul

// Acceder al 煤ltimo elemento del array con la notaci贸n de corchees
console.log(colores[colores.length -1]); // 'azul'

隆Hola!
El m茅todo at me record贸 bastante al concepto de slices en python, un gran lenguaje si consideras probarlo alg煤n d铆a.

Por si a alguno no le funciona el comando at, verificar que tengan instalado una version adecuada de Node, usen los siguientes comandos para manejar versiones de node, (Primero instalen NVM), pueden usar otra version que no sea la ultima, para esto en vez de 鈥渓atest鈥 indicar la que desean y en 18.10.0 indiquen la que les indique el comando nvm list.

nvm install latest
nvm list 
nvm use 18.10.0

Mi resumen:

Genial!!!

Un breve resumen Este m茅todo se ha creado con el fin de poder acceder a un elemento especifico de un array utilizando su posici贸n,聽el m茅todo acepta dos tipos de valores, positivos y negativos, si ingresamos valores positivos el m茅todo buscara el n煤mero empezando por la posici贸n 0 luego 1 y as铆 sucesivamente, si ingresamos valores negativos el m茅todo empezara a buscar por el ultimo valor del elemento, por ejemplo el valor -1 para el m茅todo es la ultima 聽 posici贸n, el valor -2 es la penultima posici贸n y as铆 sucesivamente. ![](https://static.platzi.com/media/user_upload/image-389b1203-8be0-4150-b966-c3e1737c5724.jpg) Aparte del video tambi茅n le铆 <https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Array/at>

El m茅todo propuesto聽at()聽deber铆a ayudarte a acceder a los elementos de un arreglo usando un n煤mero de 铆ndice negativo. A partir de ahora, esto no es posible. tu puede acceder elemento solo desde el inicio del arreglo usando un n煤mero de 铆ndice positivo.

Acceder elementos de la parte de atr谩s del arreglo es posible usando el valor length. Con la inclusi贸n del m茅todo聽at(), t煤 podr谩s acceder a los elementos usando ambos 铆ndices positivo y negativo con un solo m茅todo.

const junkFoodILove = ['?', '?', '?', '?', '?', '?', '?', '?'];

junkFoodILove.at(0); // ?
junkFoodILove.at(3); // ?
junkFoodILove.at(-1); // ?
junkFoodILove.at(-5); // ?
junkFoodILove.at(-8); // ?
junkFoodILove.at(10); // undefined

Aqu铆 hay una demostracion rapida de ello:

Puedes usar este polyfill para lograr la funcionalidad del m茅todo聽at()聽hasta que este m茅todo sea a帽adido al lenguaje JavaScript. Por favor checa este repositorio de GitHub 聽para 聽los ejemplos del m茅todo聽at():聽https://github.com/atapas/js-array-at-method.

La de veces que habr茅 usado el m茅todo de restar 1 al length del array sin saber que pod铆a hacerlo de esta forma鈥 馃槶

Tambi茅n es posible usar atributos privados en las clases de la misma forma en que se definen los metodos privados 馃槂.

class Person {
  #name; // Private attribute

  constructor(name) {
    this.#name = name; // Initialize the private attribute in the constructor
  }

  getName() {
    return this.#name;
  }

  changeName(newName) {
    this.#name = newName;
  }
}

ES13: .at()

El m茅todo 鈥.at()鈥 es una funci贸n introducida en ECMAScript 2022 (ES13) para acceder a los elementos de una matriz o cadena en un 铆ndice espec铆fico. Est谩 disponible en instancias de objetos Array y String.

A continuaci贸n se muestra un ejemplo de uso del m茅todo 鈥.at()鈥 con un array:

const miArray = ['apple', 'banana', 'orange'];
console.log(myArray.at(1)); // Salida: 'banana'


En este ejemplo, la llamada al m茅todo 鈥.at(1)鈥 recupera el elemento en el 铆ndice 1 (indexaci贸n basada en cero) de la matriz myArray, que es 鈥榖anana鈥.

El m茅todo 鈥.at()鈥 tambi茅n se puede utilizar con cadenas:

const myString = 'Hello, World!';
console.log(myString.at(7)); // Salida: 'W'


En este caso, la llamada al m茅todo 鈥.at(7)鈥 recupera el car谩cter en el 铆ndice 7 de la cadena myString, que es 鈥榃鈥.

Es importante tener en cuenta que el m茅todo 鈥.at()鈥 no est谩 muy extendido en todos los entornos JavaScript ni en las versiones antiguas de ECMAScript. Siempre es una buena pr谩ctica comprobar la compatibilidad antes de utilizar esta funci贸n.

Espero sea de utilidad. 馃懆鈥嶐煉

Para la primera pregunta de 鈥渃omo encontrarias el ultimo valor del array sin saber cuantos valores hay鈥 encontre esta soluci贸n medio deficiente:

const array = ["one", "two", "three", "four", "five", "six"];

let element
for (let i = 0; i < array.length; i++) {
    element = array[i];
    
}
console.log(element)

https://54albert54.github.io/ecomes
me vi tentado a utilizar la api jejjeje se que falta mucho por hacer

馃摪 Archivos del Proyecto 馃摪


Pasos 馃搶

  • 鈥 Dentro de la carpeta src. Se crea la carpeta llamada es13.
  • 鈥 Dentro de la carpeta es13, crear el archivo llamado: 00-at.js
      • 鈼 El c贸digo queda:
//Compilar: seleccionar el c贸digo + click derecho + Run Code

//Ejercicio #1
const array = ["one", "two", "three", "four", "five", "six"];

console.log(array[array.length - 1]);

/*output: accede al 煤ltimo elemento indicando la longitud
six
*/

console.log(array.at(-1));

/*output: accede al 煤ltimo elemento sin conocer su 铆ndice
six
*/

Ni idea de donde usarlo, pero util conocerlo 馃槃

at:

const arrayString = ["one", "two", "three", "four", "five", "six"];

console.log(arrayString[arrayString.length -1]);

console.log(arrayString.at(-1));
//six
//six

馃崈 En JavaScript, la palabra clave 鈥渁t鈥 se utiliza para acceder al elemento de un arreglo en una posici贸n espec铆fica. La sintaxis b谩sica es la siguiente:

array.at(index)

Donde 鈥渁rray鈥 es el arreglo que se desea acceder y 鈥渋ndex鈥 es la posici贸n del elemento que se desea obtener. La posici贸n se especifica como un n煤mero entero no negativo.

La funci贸n 鈥渁t鈥 devuelve el valor del elemento en la posici贸n especificada. Si la posici贸n est谩 fuera del rango v谩lido de 铆ndices para el arreglo, se devuelve 鈥渦ndefined鈥.

La ventaja de utilizar 鈥渁t鈥 en lugar de acceder al elemento directamente mediante su 铆ndice, es que si el 铆ndice es negativo o mayor o igual al tama帽o del arreglo, 鈥渁t鈥 devolver谩 鈥渦ndefined鈥 en lugar de producir un error de 铆ndice fuera de rango. Adem谩s, 鈥渁t鈥 funciona correctamente con arreglos que tienen elementos no num茅ricos en sus propiedades de 铆ndice.

<
const array = ['uno', 'dos', 'tres', 'cuatro', 'cinco', 'seis']
const ultimo = array.length
console.log(ultimo);
console.log(array[ultimo - 1]);
console.log(array.at(-1));
> 
    ES13: at

        const array = ["uno","dos","tres","cuatro","cinco","seis"];
        //pesemos que este array tiene muchos caracteres  y no sabemos en donde termina y que no lo conocemos
        //al momento de llamar un API en la cual queramos por ejemplo aceder a los productos para eso vamos a utilizar at 
        
        //驴como acceder al ultimo elemento del array sin saber cuantos tiene  
        //antes
        console.log(array[array.length - 1]);

*/

const array = ["uno","dos","tres","cuatro","cinco","seis"];
//pesemos que este array tiene muchos caracteres  y no sabemos en donde termina y que no lo conocemos
//al momento de llamar un API en la cual queramos por ejemplo aceder a los productos para eso vamos a utilizar at 

//驴como acceder al ultimo elemento del array sin saber cuantos tiene  
//antes
console.log(array[array.length - 1]);// nos arrojara seis que es el ultimo elemento

/*

        Ahora

        console.log(array.at(-1));// esta es una forma mas sinplificada para acceder al ultimo elemento del array

*/

El operador at es una adici贸n propuesta en ECMAScript 13 (ES13) para JavaScript que permite acceder a un elemento espec铆fico de un objeto o una matriz. El operador at se puede utilizar como una alternativa al operador de corchete ([]), que es el m茅todo m谩s com煤n para acceder a los elementos de un objeto o matriz.

Aqu铆 hay un ejemplo de c贸mo utilizar el operador at para acceder a un elemento de una matriz:

const numbers = [1, 2, 3, 4, 5];
const thirdNumber = numbers.at(2);
console.log(thirdNumber);
// Output: 3

Si tienes alguna idea de c贸mo podemos implementar esta funcionalidad en un problema, porfa, d茅janos un reto o varios para que todos practiquemos. 馃槂

Rectifico, cuando dice que vamos a tomar el 煤ltimo valor que se encuentra en el array y dice que .lenght cuenta desde 鈥0鈥, esto no es cierto esta propiedad cuenta a partir de 鈥1鈥 y por ello como en el array si se cuenta desde cero lo mejor es ponerle el -1 para que tome el valor final real del array.

/* ES13 - 2022 */

const array = ['one', 'two,', 'three', 'four', 'five', 'six'];
console.log(array.at(-1)); // six
console.log(array.at(-2)); // five
console.log(array.at(-4)); // three

el m茅todo .at() no solo sirve para acceder a la 煤ltima posici贸n, para acceder a cualquier otra posici贸n le pasamos por argumento el 铆ndice de la posici贸n.

const strings = ['one', 'two', 'three', 'four', 'five','six', 'seven', 'eight', 'nine','ten']

console.log(strings.at(2)) // Devolvera 'three'

Y como vimos en clase, mejor uso es solo colar -1 y nos devolvera la ultima posicion sin importar la longitud del array

// At is a new method on String.prototype that returns the character at the given index.

const string = "Hello World"

console.log(string.at(0)) // H
console.log(string.at(-1)) // d
console.log(string.at(-2)) // l

脥ndices Positivos

Los 铆ndices positivos comienzan de聽izquierda a derecha聽del聽array; desde聽0聽hasta la longitud total menos uno, . El 铆ndice聽0聽es la primera posici贸n.

[0,1,2,3, ...., lenght-1]

脥ndices Negativos

Los 铆ndices negativos comienzan de聽derecha a izquierda del array; ****desde聽-1聽hasta el negativo de la longitud total del聽array. El 铆ndice聽-1聽es la 煤ltima posici贸n.

[-lenght, ...,  -3, -2, -1]

M茅todo聽at

La utilidad m谩s importante de este m茅todo es para manejar聽铆ndices negativos. Algo que no se puede con la notaci贸n de corchetes.

const nombres = ["Andres", "Valeria", "Ana", "Ramiro", "Richard"]

nombres.at(-1) // "Richard"
nombres[-1] // undefined
nombres.at(-3) // "Ana"
nombres[nombres.length -1] // "Richard"

Puedes utilizar la notaci贸n de corchetes, pero necesitas obtener la longitud del聽array聽y restarle una unidad, generando mucho c贸digo que puede volverse dif铆cil de leer.

nombres[nombres.length -1] // "Richard"

Contribuci贸n creada por:

Andr茅s Guano (Platzi Contributor).


Buenas Practicas / C贸digo Nuevo / Extras

At solo es para arrays 驴?

R E S U M E N

<aside>
馃搷 At:

M茅todo que nos permite acceder a los elementos de un array a partir de un 铆ndice.

Positivos:

Comienzan de derecha a izquierda con el 0 y terminar con la longitud del array-1

Negativos:

Comienzan de izquierda a derecha con -1 hasta la longitud del array en negativo

Este m茅todo es especial para manejar los 铆ndices negativos, genera una facilidad para leer el c贸digo, m谩s simple, sencillo.

nombres.at(-1) > nombres[nombres.length -1]

</aside>

Great!

Para acceder al 煤ltimo elemento de un array

const array = ['one', 'two', 'three', 'four', 'five', 'six', 'seven'];
  	
let szOfArray = array.length;
console.log(array[szOfArray - 1]); //seven