par
AB » 19 sept. 2010, 20:29
Pour insérer, supprimer, ou modifier l'ordre des éléments d'un tableau on peut faire par exemple :
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript">
<!--
function Insert_ligne(index_insert, value, tab)
{
if (typeof tab == 'object' && tab instanceof Array)
{
var nb_tab = tab.length;//nb d'éléments du tableau = dernier indice du tableau+1
var index_insert = index_insert >= 0 && index_insert <= nb_tab ? index_insert : nb_tab;
var temp = (typeof value == 'object' && value instanceof Array)? Array(value) : value;
tab.splice(index_insert,0,temp);
}
return tab;
}
function Efface_ligne(index, tab)
{
if (typeof tab == 'object' && tab instanceof Array && index >= 0 && index < tab.length)
{
tab.splice(index,1);
}
return tab;
}
function Modif_ordre(index, mod_index, tab)
{
if (typeof tab == 'object' && tab instanceof Array && index >= 0 && index < tab.length)
{
var temp = (typeof tab[index] == 'object' && tab[index] instanceof Array) ? Array(tab[index]) : tab[index];
tab.splice(index,1);
tab.splice(mod_index,0,temp);
}
return tab;
}
// TEST
var tab = Array(0,1,2,3,4,5,6,7);
alert('Prend l\'index 6 du tableau ('+tab+') soit le septième élément contenant la valeur 6 et le place en 3 position soit l\'index 2 du tableau');
tab = Modif_ordre(6,2,tab);
for (i=0; i < tab.length; i++)
{
alert('index = '+i+' contenu = '+tab[i]);
}
alert('efface maintenant la troisième ligne, soit l\'index 2 du tableau');
tab = Efface_ligne(2,tab);
for (i=0; i < tab.length; i++)
{
alert('index = '+i+' contenu = '+tab[i]);
}
alert('Insert maintenant la valeur 6 à l\'index 6 soit en septième position du tableau');
tab = Insert_ligne (6,6 ,tab);
for (i=0; i < tab.length; i++)
{
alert('index = '+i+' contenu = '+tab[i]);
}
-->
</script>
</head>
<body>
</body>
</html>
Pour insérer, supprimer, ou modifier l'ordre des éléments d'un tableau on peut faire par exemple :
[code]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
<script type="text/javascript">
<!--
function Insert_ligne(index_insert, value, tab)
{
if (typeof tab == 'object' && tab instanceof Array)
{
var nb_tab = tab.length;//nb d'éléments du tableau = dernier indice du tableau+1
var index_insert = index_insert >= 0 && index_insert <= nb_tab ? index_insert : nb_tab;
var temp = (typeof value == 'object' && value instanceof Array)? Array(value) : value;
tab.splice(index_insert,0,temp);
}
return tab;
}
function Efface_ligne(index, tab)
{
if (typeof tab == 'object' && tab instanceof Array && index >= 0 && index < tab.length)
{
tab.splice(index,1);
}
return tab;
}
function Modif_ordre(index, mod_index, tab)
{
if (typeof tab == 'object' && tab instanceof Array && index >= 0 && index < tab.length)
{
var temp = (typeof tab[index] == 'object' && tab[index] instanceof Array) ? Array(tab[index]) : tab[index];
tab.splice(index,1);
tab.splice(mod_index,0,temp);
}
return tab;
}
// TEST
var tab = Array(0,1,2,3,4,5,6,7);
alert('Prend l\'index 6 du tableau ('+tab+') soit le septième élément contenant la valeur 6 et le place en 3 position soit l\'index 2 du tableau');
tab = Modif_ordre(6,2,tab);
for (i=0; i < tab.length; i++)
{
alert('index = '+i+' contenu = '+tab[i]);
}
alert('efface maintenant la troisième ligne, soit l\'index 2 du tableau');
tab = Efface_ligne(2,tab);
for (i=0; i < tab.length; i++)
{
alert('index = '+i+' contenu = '+tab[i]);
}
alert('Insert maintenant la valeur 6 à l\'index 6 soit en septième position du tableau');
tab = Insert_ligne (6,6 ,tab);
for (i=0; i < tab.length; i++)
{
alert('index = '+i+' contenu = '+tab[i]);
}
-->
</script>
</head>
<body>
</body>
</html>[/code]