Skip to content

Instantly share code, notes, and snippets.

@384400
Last active January 20, 2018 21:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save 384400/4521709f1d5ccfd48dc83bb8af20f77a to your computer and use it in GitHub Desktop.
Save 384400/4521709f1d5ccfd48dc83bb8af20f77a to your computer and use it in GitHub Desktop.
Déclarations et lectures de tableaux en JavaScript
/* Tableau unidimensionnel */
/** Declaration avec "push" **/
var regionsFrance = [];
regionsFrance.push('Nouvelle Aquitaine');
regionsFrance.push('Occitanie');
console.log(regionsFrance);
/** Declaration sans "push" (1) **/
var regionsFrance = new Array('Nouvelle Aquitaine', 'Occitanie');
console.log(regionsFrance);
/** Declaration sans "push" (2) **/
var regionsFrance = [];
regionsFrance[0] = 'Nouvelle Aquitaine';
regionsFrance[1] = 'Occitanie';
console.log(regionsFrance);
/** Parcours du tableau **/
for (var i = 0; i < regionsFrance.length; i++) {
console.log(regionsFrance[i]);
}
/* Accès a un élément */
console.log(regionsFrance[1]);
/* Tableau multidimensionnel */
/* Granularite simple */
/** Declaration **/
var regionsFrance = [];
var departementsNouvelleAquitaine = [];
var departementsOccitanie = [];
departementsNouvelleAquitaine.push('Gironde');
departementsNouvelleAquitaine.push('Landes');
departementsNouvelleAquitaine.push('Pyrenees Atlantiques');
regionsFrance.push(departementsNouvelleAquitaine);
departementsOccitanie.push('Ariege');
departementsOccitanie.push('Haute-Garonne');
departementsOccitanie.push('Lot');
regionsFrance.push(departementsOccitanie);
console.log(regionsFrance);
/**
Retourne...
[["Gironde", "Landes", "Pyrenees Atlantiques"], ["Ariege", "Haute-Garonne", "Lot"]]
*/
/** Parcours du tableau **/
for (var i = 0; i < regionsFrance.length; ++i) {
for (var j = 0; j < regionsFrance[i].length; j++) {
console.log(regionsFrance[i][j]);
}
}
/** Acces à un élément **/
console.log(regionsFrance[0][1]);
/* Granularite complexe */
/* Par "granularite complexe", nous entendons que nous imbriquons les tableaux dans les tableaux, contrairement a l'exemple precedent. */
/** Première methode **/
var regionsFrance = [];
var regionNouvelleAquitaine = [];
var regionOccitanie = [];
var departementsNouvelleAquitaine = [];
var departementsOccitanie = [];
departementsNouvelleAquitaine.push('Gironde');
departementsNouvelleAquitaine.push('Landes');
departementsNouvelleAquitaine.push('Pyrenees-Atlantiques');
regionNouvelleAquitaine.push(departementsNouvelleAquitaine);
regionsFrance.push(regionNouvelleAquitaine);
departementsOccitanie.push('Ariege');
departementsOccitanie.push('Haute-Garonne');
departementsOccitanie.push('Lot');
regionOccitanie.push(departementsOccitanie);
regionsFrance.push(regionOccitanie);
console.log(regionsFrance);
/**
Retourne...
[[["Gironde", "Landes", "Pyrenees-Atlantiques"]], [["Ariege", "Haute-Garonne", "Lot"]]]
*/
/** Deuxième methode **/
var regionsFrance = new Array();
regionsFrance[0] = new Array();
regionsFrance[0][0] = new Array();
regionsFrance[0][0][0] = 'Gironde';
regionsFrance[0][0][1] = 'Landes';
regionsFrance[0][0][2] = 'Pyrenees-Atlantiques';
regionsFrance[1] = new Array();
regionsFrance[1][0] = new Array();
regionsFrance[1][0][0] = 'Ariege';
regionsFrance[1][0][1] = 'Haute-Garonne';
regionsFrance[1][0][2] = 'Lot';
/**
Retourne...
[[["Gironde", "Landes", "Pyrenees-Atlantiques"]], [["Ariege", "Haute-Garonne", "Lot"]]]
*/
/** Parcours du tableau **/
for (var i = 0; i < regionsFrance.length; ++i) {
for (var j = 0; j < regionsFrance[i].length; ++j) {
for (var k = 0; k < regionsFrance[i][j].length; ++k) {
console.log(regionsFrance[i][j][k]);
}
}
}
/** Acces à un élément **/
console.log(regionsFrance[1][0][1]);
/* Au dela de deux niveaux, une solution differente doit etre envisagee, car l'ecriture devient complexe. A contrario... */
var regionsFrance = [];
var regionNouvelleAquitaine = [];
var regionOccitanie = [];
var departementsNouvelleAquitaine = [];
var prefecturesNouvelleAquitaine = [];
var departementsOccitanie = [];
var prefecturesOccitanie = [];
prefecturesNouvelleAquitaine.push('Bordeaux');
prefecturesNouvelleAquitaine.push('Mont-de-Marsan');
prefecturesNouvelleAquitaine.push('Pau');
departementsNouvelleAquitaine.push('Gironde');
departementsNouvelleAquitaine.push('Landes');
departementsNouvelleAquitaine.push('Pyrenees-Atlantiques');
departementsNouvelleAquitaine.push(prefecturesNouvelleAquitaine);
regionNouvelleAquitaine.push(departementsNouvelleAquitaine);
regionsFrance.push(regionNouvelleAquitaine);
prefecturesOccitanie.push('Foix');
prefecturesOccitanie.push('Toulouse');
prefecturesOccitanie.push('Cahors');
departementsOccitanie.push('Ariege');
departementsOccitanie.push('Haute-Garonne');
departementsOccitanie.push('Lot');
departementsOccitanie.push(prefecturesOccitanie);
regionOccitanie.push(departementsOccitanie);
regionsFrance.push(regionOccitanie);
console.log(regionsFrance);
/** Retourne...
[[["Gironde", "Landes", "Pyrenees-Atlantiques", ["Bordeaux", "Mont-de-Marsan", "Pau"]]], [["Ariege", "Haute-Garonne", "Lot", ["Foix", "Toulouse", "Cahors"]]]]
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment