ES6 - Baies
L'utilisation de variables pour stocker des valeurs pose les limitations suivantes -
Les variables sont de nature scalaire. En d'autres termes, une déclaration de variable ne peut en contenir qu'une seule à la fois. Cela signifie que pour stocker n valeurs dans un programme, n déclarations de variables seront nécessaires. Par conséquent, l'utilisation de variables n'est pas faisable lorsque l'on a besoin de stocker une plus grande collection de valeurs.
Les variables d'un programme se voient allouer de la mémoire dans un ordre aléatoire, ce qui rend difficile la récupération / lecture des valeurs dans l'ordre de leur déclaration.
JavaScript introduit le concept de tableaux pour aborder la même chose.
Un tableau est une collection homogène de valeurs. Pour simplifier, un tableau est une collection de valeurs du même type de données. C'est un type défini par l'utilisateur.
Caractéristiques d'une baie
Une déclaration de tableau alloue des blocs de mémoire séquentiels.
Les tableaux sont statiques. Cela signifie qu'un tableau une fois initialisé ne peut pas être redimensionné.
Chaque bloc de mémoire représente un élément de tableau.
Les éléments du tableau sont identifiés par un entier unique appelé indice / index de l'élément.
Les tableaux aussi, comme les variables, doivent être déclarés avant d'être utilisés.
L'initialisation du tableau fait référence au remplissage des éléments du tableau.
Les valeurs des éléments de tableau peuvent être mises à jour ou modifiées mais ne peuvent pas être supprimées.
Déclaration et initialisation de tableaux
Pour déclarer et initialiser un tableau en JavaScript, utilisez la syntaxe suivante -
var array_name; //declaration
array_name = [val1,val2,valn..] //initialization
OR
var array_name = [val1,val2…valn]
Note - La paire de [] est appelée la dimension du tableau.
Par exemple, une déclaration comme: var numlist = [2,4,6,8] créera un tableau comme indiqué dans la figure suivante.
Accès aux éléments de la baie
Le nom du tableau suivi de l'indice est utilisé pour faire référence à un élément du tableau.
Voici la syntaxe pour le même.
array_name[subscript]
Exemple: tableau simple
var alphas;
alphas = ["1","2","3","4"]
console.log(alphas[0]);
console.log(alphas[1]);
La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
1
2
Exemple: déclaration et initialisation de déclaration unique
var nums = [1,2,3,3]
console.log(nums[0]);
console.log(nums[1]);
console.log(nums[2]);
console.log(nums[3]);
La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
1
2
3
3
Objet Array
Un tableau peut également être créé à l'aide de l'objet Array. Le constructeur Array peut être passé comme -
Valeur numérique qui représente la taille du tableau ou.
Une liste de valeurs séparées par des virgules.
Les exemples suivants créent un tableau à l'aide de cette méthode.
Exemple
var arr_names = new Array(4)
for(var i = 0;i<arr_names.length;i++) {
arr_names[i] = i * 2
console.log(arr_names[i])
}
La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
0
2
4
6
Exemple: le constructeur de tableaux accepte les valeurs séparées par des virgules
var names = new Array("Mary","Tom","Jack","Jill")
for(var i = 0;i<names.length;i++) {
console.log(names[i])
}
La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
Mary
Tom
Jack
Jill
Méthodes de tableau
Voici la liste des méthodes de l'objet Array avec leur description.
Sr.Non | Méthode et description |
---|---|
1 |
concat ()
Renvoie un nouveau tableau composé de ce tableau joint à d'autres tableaux et / ou valeur (s) |
2 |
chaque()
Renvoie true si chaque élément de ce tableau satisfait la fonction de test fournie. |
3 |
filtre()
Crée un nouveau tableau avec tous les éléments de ce tableau pour lesquels la fonction de filtrage fournie renvoie true. |
4 |
pour chaque()
Appelle une fonction pour chaque élément du tableau. |
5 |
Indice de()
Renvoie le premier (le moins) index d'un élément dans le tableau égal à la valeur spécifiée, ou -1 si aucun n'est trouvé. |
6 |
joindre()
Joint tous les éléments d'un tableau dans une chaîne. |
sept |
lastIndexOf ()
Renvoie le dernier (le plus grand) index d'un élément du tableau égal à la valeur spécifiée, ou -1 si aucun n'est trouvé. |
8 |
carte()
Crée un nouveau tableau avec les résultats de l'appel d'une fonction fournie sur chaque élément de ce tableau. |
9 |
pop()
Supprime le dernier élément d'un tableau et renvoie cet élément. |
dix |
pousser()
Ajoute un ou plusieurs éléments à la fin d'un tableau et renvoie la nouvelle longueur du tableau. |
11 |
réduire()
Applique une fonction simultanément à deux valeurs du tableau (de gauche à droite) pour le réduire à une seule valeur. |
12 |
réduireDroite ()
Applique une fonction simultanément à deux valeurs du tableau (de droite à gauche) pour le réduire à une seule valeur. |
13 |
inverser()
Inverse l'ordre des éléments d'un tableau - le premier devient le dernier et le dernier devient le premier. |
14 |
décalage()
Supprime le premier élément d'un tableau et renvoie cette tranche d'élément. |
15 |
tranche()
Extrait une section d'un tableau et renvoie un nouveau tableau. |
16 |
certains()
Renvoie true si au moins un élément de ce tableau satisfait la fonction de test fournie. |
17 |
toSource() Représente le code source d'un objet. |
18 |
Trier()
Trie les éléments d'un tableau. |
19 |
épissure()
Ajoute et / ou supprime des éléments d'un tableau. |
20 |
toString ()
Renvoie une chaîne représentant le tableau et ses éléments. |
21 |
décaler ()
Ajoute un ou plusieurs éléments au début d'un tableau et renvoie la nouvelle longueur du tableau. |
ES6 - Méthodes de matrice
Voici quelques nouvelles méthodes de baie introduites dans ES6.
Array.prototype.find
findvous permet de parcourir un tableau et de récupérer le premier élément qui fait que la fonction de rappel donnée renvoie true. Une fois qu'un élément a été trouvé, la fonction retourne immédiatement. C'est un moyen efficace d'obtenir uniquement le premier élément qui correspond à une condition donnée.
Example
var numbers = [1, 2, 3];
var oddNumber = numbers.find((x) => x % 2 == 1);
console.log(oddNumber); // 1
La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
1
Note - L'ES5 filter() et l'ES6 find()ne sont pas non plus. Filter renvoie toujours un tableau de correspondances (et renverra plusieurs correspondances), find renvoie toujours l'élément réel.
Array.prototype.findIndex
findIndex se comporte de la même manière que find, mais au lieu de renvoyer l'élément correspondant, il renvoie l'index de cet élément.
var numbers = [1, 2, 3];
var oddNumber = numbers.findIndex((x) => x % 2 == 1);
console.log(oddNumber); // 0
L'exemple ci-dessus renverra l'index de la valeur 1 (0) en sortie.
Array.prototype.entries
entriesest une fonction qui renvoie un itérateur de tableau qui peut être utilisé pour parcourir les clés et les valeurs du tableau. Les entrées renverront un tableau de tableaux, où chaque tableau enfant est un tableau de [index, valeur].
var numbers = [1, 2, 3];
var val = numbers.entries();
console.log(val.next().value);
console.log(val.next().value);
console.log(val.next().value);
La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
[0,1]
[1.2]
[2,3]
Alternativement, nous pouvons également utiliser l'opérateur de propagation pour récupérer un tableau des entrées en une seule fois.
var numbers = [1, 2, 3];
var val= numbers.entries();
console.log([...val]);
La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
[[0,1],[1,2],[2,3]]
Array. De
Array.from()permet la création d'un nouveau tableau à partir d'un tableau comme un objet. La fonctionnalité de base de Array.from () est de convertir deux types de valeurs en tableaux -
Valeurs de type tableau.
Valeurs itérables comme Set et Map.
Example
"use strict"
for (let i of Array.from('hello')) {
console.log(i)
}
La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
h
e
l
l
o
Array.prototype.keys ()
Cette fonction renvoie les index du tableau.
Example
console.log(Array.from(['a', 'b'].keys()))
La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
[ 0, 1 ]
Array Traversal utilisant for… in loop
On peut utiliser la boucle for… in pour parcourir un tableau.
"use strict"
var nums = [1001,1002,1003,1004]
for(let j in nums) {
console.log(nums[j])
}
La boucle effectue un parcours de tableau basé sur un index. La sortie suivante s'affiche lors de l'exécution réussie du code ci-dessus.
1001
1002
1003
1004
Tableaux en JavaScript
JavaScript prend en charge les concepts suivants sur les tableaux -
Sr.Non | Concept et description |
---|---|
1 |
Tableaux multidimensionnels
JavaScript prend en charge les tableaux multidimensionnels. La forme la plus simple du tableau multidimensionnel est le tableau bidimensionnel |
2 |
Passer des tableaux aux fonctions
Vous pouvez transmettre à la fonction un pointeur vers un tableau en spécifiant le nom du tableau sans index. |
3 |
Renvoyer le tableau à partir des fonctions
Permet à une fonction de renvoyer un tableau. |
Déstructuration des tableaux
Destructuringfait référence à l'extraction de valeurs individuelles d'un tableau ou d'un objet dans des variables distinctes. Considérez un scénario où les valeurs d'un tableau doivent être affectées à des variables individuelles. La manière traditionnelle de procéder est donnée ci-dessous -
var a= array1[0]
var b= array1[1]
var c= array1[2]
La déstructuration permet d'atteindre la même chose de manière concise.
Syntaxe
//destructuring an array
let [variable1,variable2]=[item1,item2]
//destructuring an object
let {property1,property2} = {property1:value1,property2:value2}
Exemple
<script>
let names = ['Mohtashim','Kannan','Kiran']
let [n1,n2,n3] = names;
console.log(n1)
console.log(n2)
console.log(n3);
//rest operator with array destructuring
let locations=['Mumbai','Hyderabad','Chennai']
let [l1,...otherValues] =locations
console.log(l1)
console.log(otherValues)
//variables already declared
let name1,name2;
[name1,name2] =names
console.log(name1)
console.log(name2)
//swapping
let first=10,second=20;
[second,first] = [first,second]
console.log("second is ",second) //10
console.log("first is ",first) //20
</script>
La sortie du code ci-dessus sera comme indiqué ci-dessous -
Mohtashim
Kannan
Kiran
Mumbai
["Hyderabad", "Chennai"]
Mohtashim
Kannan
second is 10
first is 20