Last active
January 20, 2018 21:44
-
-
Save 384400/4521709f1d5ccfd48dc83bb8af20f77a to your computer and use it in GitHub Desktop.
Déclarations et lectures de tableaux en JavaScript
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* 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