Tableau d'objets TypeScript :
Tableau d'objets peut être défini en TypeScript pour stocker des données d'un type spécifique de manière séquentielle. Similaire à string, int ou tout autre tableau, on peut aussi avoir un tableau d'objets . C'est en fait utile si vous stockez des données de manière orientée objet .
Nous pouvons créer un tableau d'objets en différentes manières. Laissez-moi vous montrer tous un par un.
Méthode 1 :Initialisation en ligne d'un tableau d'objets :
Examinons l'exemple ci-dessous :
let students = [{
name: 'Alex',
age: 20
},
{
name: 'Bob',
age: 21
},
{
name: 'Charlie',
age: 20
}];
étudiants est un tableau d'objets. Nous n'avons défini aucun type ici, mais il prendra le type implicitement.
Ceci est similaire à :
let students: {name: string, age: number}[] = [{
name: 'Alex',
age: 20
},
{
name: 'Bob',
age: 21
},
{
name: 'Charlie',
age: 20
}];
console.log(students);
Nous imprimons le contenu des étudiants sur console. Il imprimera la sortie ci-dessous :
[
{ name: 'Alex', age: 20 },
{ name: 'Bob', age: 21 },
{ name: 'Charlie', age: 20 }
]
Méthode 2 :Initialisation d'un tableau d'objets avec des propriétés facultatives :
Dans l'exemple ci-dessus, nom et âge sont nécessaires pour chaque objet. Si nous n'en avons aucun dans un objet, il lancera une erreur .
Nous pouvons marquer n'importe quelle propriété comme facultatif pour supprimer cette erreur.
let students: {name: string, age?: number}[] = [{
name: 'Alex',
age: 20
},
{
name: 'Bob',
age: 21
},
{
name: 'Charlie',
}];
console.log(students);
Dans cet exemple, le troisième objet n'a pas age . Il n'affichera aucune erreur car nous avons marqué âge en option.
Méthode 3 :Créer un tableau d'objets avec une interface :
En tapuscrit, on peut aussi créer un tableau d'objets avec le type défini par une interface . L'interface contiendra la structure de chaque objet et dans le tableau, nous pouvons l'initialiser comme ce type.
interface Student{
name: string;
age?: number;
}
let students: Student[] = [{
name: 'Alex',
age: 20
},
{
name: 'Bob',
age: 21
},
{
name: 'Charlie',
}];
console.log(students);
Dans cet exemple, Étudiant l'interface contient un nom de type chaîne et âge facultatif de type nombre . Nous utilisons l'interface au lieu du type d'objet défini dans les exemples précédents.
Méthode 4 :Création d'un tableau d'objets de type alias :
C'est presque similaire aux interfaces . Nous pouvons utiliser un alias de type au lieu d'une interface.
type Student = {
name: string;
age?: number;
}
let students: Student[] = [{
name: 'Alex',
age: 20
},
{
name: 'Bob',
age: 21
},
{
name: 'Charlie',
}];
console.log(students);
Cela donnera un résultat similaire.
Méthode 5 :Avec une classe :
Au lieu d'interfaces , nous pouvons également utiliser une classe pour définir des objets de ce type de classe.
class Student{
name: string;
age?: number;
constructor(n: string, a?: number){
this.name = n;
this.age = a;
}
}
let students: Student[] = [new Student('Alex', 20), new Student('Bob', 21), new Student('Charlie')];
console.log(students);
Étudiant est une classe avec deux propriétés similaires à l'interface précédente. Nous créons de nouveaux étudiants objets et en les insérant dans le tableau.
Il imprimera :
[
Student { name: 'Alex', age: 20 },
Student { name: 'Bob', age: 21 },
Student { name: 'Charlie', age: undefined }
]
Puisque tous sont étudiants objets de classe, la sortie d'impression est un peu différente de l'exemple précédent.
Opérations sur les tableaux :
Nous pouvons utiliser toutes les opérations de tableau dans un tableau d'objets . Par exemple, l'exemple ci-dessous utilise map pour itérer sur les éléments et imprimer le nom pour chacun :
class Student{
name: string;
age?: number;
constructor(n: string, a?: number){
this.name = n;
this.age = a;
}
}
let students: Student[] = [new Student('Alex', 20), new Student('Bob', 21), new Student('Charlie')];
students.map(s => {
console.log(s.name);
})
C'est un tableau , afin que toutes les opérations prises en charge par le tableau dactylographié puissent être effectuées.
Vous pourriez également aimer :
- Introduction aux modules en tapuscrit
- Comment convertir une chaîne en un tableau de caractères dans TypeScript à l'aide de split
- Taper toute explication avec exemple
- Comment créer une classe en tapuscrit avec exemple
- Comment convertir n'importe quelle chaîne en texte dactylographié
- Méthode de recherche de chaînes TypeScript