Alex hernandez mitre
el curso de manipulación de arrays es buenísimo ...
Angel Hernandez
es uno de los mejores cursos, estoy deacuerdo contigo!
Juan David Reyes
Con los playgrounds si se merece ese titulo
Es una colección de datos ordenada. Los definimos de la siguiente manera:
let prices = [1,2,3,4,5]; /* Método Push para agregar un elemento al final del array */ prices.push(6); console.log(prices); // [1,2,3,4,5,6]
Para el array prices, TypeScript, de no indicarle explícitamente, va a inferir que este solo contendrá valores del tipo number, por lo que si se quiere agregar un valor string, por ejemplo, nos indicará un error:
//TypeScript prices.push("texto"); //ERROR. Se espera agregar solo números al array.
Esto debido a que en su inicialización se le asignó un array que solo contenía números.
También nos indicará error si pretendemos hacer operaciones exclusivas de un tipo de dato sobre la de otro tipo:
let meses = ["Mayo","Junio","Julio"]; meses.map( item => item * 2 ); //ERROR. Se pretende realizar una multiplicación usando strings.
Tipado de arrays en TypeScript
Lo puedes definir así:
let prices: (number | string)[] = ["hola",2,4,6,"mundo"]; let otherPrices: (boolean | number)[];
Para este caso, a menos que la variable sea una constante, no es necesario que inicialices la variable, pues ya le indicaste el tipo de dato.
//TypeScript let prices = ["hola",2,4,6,"mundo"]; // "hola", "mundo" => string // 2,4,6 => number
Dejamos claro que queremos que soporte los tipos de dato string y number.
Contribución creada por: Martín Álvarez.
Alex hernandez mitre
el curso de manipulación de arrays es buenísimo ...
Angel Hernandez
es uno de los mejores cursos, estoy deacuerdo contigo!
Juan David Reyes
Con los playgrounds si se merece ese titulo
Luz Sthephany Granados Castro
📌📍📝 ==> La forma correcta de asignarle el tipo a un array cuando contiene numeros, strings y booleans es:
let prices: (number | string | boolean)[]
Javier Vásquez Castellano
En TS existen las Tuplas, el cual es el caso que has subido.
Edwin Jesús
mmorenov6489
Misael Valdez
Siempre hay un crack que pasa el código de la clase. Excelente Servicio man ⭐ ⭐ ⭐ ⭐ ⭐
Rafael Moro
¿No el tipo de dato es "object" con minuscula al definir el arreglo explicito?
Nicolas Molina
ProfesorSí, tienes razón, no se debió usar Object es mayúscula sino en minúscula de esta manera:
const mixed: (number | string | boolean | object)[] = ['as', 12];
Irving Juárez
Resumen de la clase
Cuando creamos el siguiente array de puros numeros
const numbers = [1, 2, 3, 4, 5]
TS infiere que el tipo es number[]. Si lo quisieramos hacer de manera explicita seria asi
const numbers: number[] = [1, 2, 3, 4, 5]
. Cuando agregamos mas de un tipo de dato en un array, TS lo infiera de esta manera
const arr: (number | boolean | string)[] = [1, true, "str"]
.
Por ultimo, cuando un array contiene otros arrays u objetos podemos usar el tipo de dato Object
const arr: Object[] = [{}, [], {}, []]
Diego Reyes Cabrera
Usando Object, me permitió usar el tipo Boolean sin habérselo dicho: !Imgur . Usando object, ya reaccionó como era y no me lo permitió: !Imgur
John Byron Alzate Hernández
Escriban lo siguiente en chatGPL y vean la magia:
Creame un snippet para declarar un array en ts que reciba todo tipo de datos y nombralo como "universalarray"
Zaidibeth Ramos
chatGPL?
Diego Eduardo Téllez Contreras
Kevin Perdomo
Este tema es el que mas me ha dado problemas desde siempre con typescript, ahora lo entiendo claramente
Braian Molina
Una consulta, por que cuando declaro la variable con asignacion me deja hacer push de dato normal:
pero cuando solo hago la declaracion y luego el push, me arroja este error?🤔
Nicolas Molina
ProfesorHola, es justo por lo que dice en el error, en donde te menciona que no puedes ingresar valores al array sin inicializarlo antes.
Alejandro Chavez
object !== Object ?
Cayo Legal
Alan Baruch Lozano Zamora
La forma correcta de asignarle los tipos que admite un array es la siguiente, así evitamos que la variable prices no sea usada como array
let prices:Array<number|string> = [1,2,3,4,5,6,7,8]; prices.push('string'); prices.push(1); //number
Roberto López
Como aprendizaje esta bien, aunque creo que es una mala practica mezclar tipos de datos en un array.
Alex hernandez mitre
alt + 1 = | (pipe) en Mac
Marvin Javier Santos Fernández
(()=>{
// Creamos una lista de tipo de datos
let canti_precios = [20,30,50,70, 'Producto', false];
// Agregamos un nuevo valor a la lista.
canti_precios.push(80);
// Un array de string y boolean
let precio = ['Laptop', true];
// Añadimos un nuevo valor.
precio.push(false);
// Creamos un array mixto, es decir,
// especificamos que tipos de datos vamos a necesitar.
let array_mixto: (number | string | boolean | Object)[]=['Lenovo', true];
array_mixto.push(30);
array_mixto.push('Legion');
array_mixto.push(true);
array_mixto.push({});
array_mixto.push([]);
// Con map crearmos un nuevo array
// con los resultados de la llamada.
let numbes = [10,20,30,40];
numbes.map(numbes => numbes * 2);
console.log(numbes);
})();
Javier Santos
Como puedo agregar ese tooltip a mi vscode? tengo el intellisens para el auto complete pero no el que te muestra el tipo de variable y eso
JULIAN CAMILO CLAVIJO RAMOS
Si quiero que mi array reciba un object que provenga de una interfaz especifica .¿Como lo definiriamos al momento de declarar mi array ?
Hector Maluy Fernandez
A parte de number | string | boolean ... ¿Acepta tipo “function” en la declaración explícita?
Rolando Osorio
lo primero que se me vino a la mente es... Como hago para crear un array y saberlo tipar sin saber que datos me vendrían de la API? Luego entendi el punto del tipado JAJAJAJA
// Tuplas const hero: [string, number, boolean] = [‘Dr Strange’, 100, false]; // Arreglos con diferentes tipos let prices: (number | string | boolean)[] = [“hola”, 2, true]
(() => { const prices = [1,2,3,4,5,6, 'hola', true]; //lo que no puedo hacer // prices.push('jkgdsakjgd'); // prices.push(true); // prices.push({}); prices.push(12313131); let products = ['hola', true]; products.push(false); //para escribir booleans, numbers y strings hay que hacerlo de forma explicita //se puede usar | objecta y acepta arrays y objetos pero para eso hay un modulo más adelante const mixed: (number | string | boolean)[] = ['hola', true]; //ahora si me deja ingresar números mixed.push(12); let numbers = [1,2,3,4,5,6,7,8]; numbers.map(item => item * 2); console.log(numbers); })();
const numeros: number[] = [1, 2, 3, 4, 5]; //@ts-ignore: Esto da error porque un array de números no acepta textos numeros.push('hola'); const cadenas : string[] = ['Hola', 'que tal', 'bien', 'chau']; //@ts-ignore: Esto también da error por lo mismo en este caso de strings cadenas.push(1); //Más de un tipo de dato const poblationCountries : (string | number)[] = ["Paraguay", 7000000, "Uruguay", 4000000]; //@ts-ignore: Da error porque no lo pusimos en el mixin de datatypes poblationCountries.push(true); //La forma implícita es la más recomendable siempre y cuando se pueda const inferedNumbers = [1, 2, 3, 4, 5]; //@ts-ignore: Esto da error igual de forma inferida inferedNumbers.push('hola'); const inferedStrings = ['Hola', 'que tal', 'chau']; //@ts-ignore: Esto da error igual de forma inferida inferedStrings.push(1); //Más de un tipo de dato const inferedPoblationCountries = ["Paraguay", 7000000, "Uruguay", 4000000]; //@ts-ignore: Da error porque no lo pusimos en el mixin de datatypes inferedPoblationCountries.push(true);