begin process at 2012 05 29 05:25:02
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Function & Méthodes

 > 

Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

jeudi 25 octobre 2007 à 14:22:42 | Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

sagat06

Bonjour à tous,

je suis toujours sur un projet qui me fait perdre la boule (à chaque problème résolu, un nouveau apparait !!).

Bref, cette fois-ci, j'aimerais savoir s'il existerait une fonction permettant d'effacer n'importe quel élément d'un tableau Array (quel que soit son indice), et d'avancer les numéros d'indice des éléments suivants en conséquent, donc de diminuer la taille du tableau.

En cherchant vite fait sur le web, j'ai bien trouvé des fonctions permettant d'effacer le premier élément, le dernier, ou de remplacer n'importe quels éléments par d'autres. Mais pas ce que je voulais.

La fonction delete tab[n°indice] a failli me plaire mais elle rend indéfini l'element d'indice i et ne change pas la taille du tableau.

Sur ce, si quelqu'un pouvait m'aider, je lui en serai très reconnaissant.
Merci d'avance.

Signé Sagat

jeudi 25 octobre 2007 à 15:01:10 | Re : Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

bultez

Membre Club
Bonjour,
    à brule pourpoint, comme ça, je dirais décaler les éléments
        (   celui "à sucrer +1" remplaçant "celui à sucrer"
            et ainsi de suite... )
        et finir par array.pop() qui supprime le dernier élément
    peut-on faire mieux ? probablement...      

                Cordialement            Bul         [mon Site]     [M'écrire]
jeudi 25 octobre 2007 à 15:14:33 | Re : Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

bultez

Membre Club
Réponse acceptée !

exemple ? ( pas testé à fond ! loin de là !!! )


<script type="text/javascript">
    function affiche()
    {    var tmp="";
        for ( var n=0;n<tab.length;n++ )
        {    tmp+=" "+tab[n];    }
        alert(tab.length+"\r\n"+tmp);
    }

    var tab=new Array("a","b","c","d","e","f","g","h","i");
    affiche();
    function efface(chp)
    {    if ( Number(chp)>=0 & Number(chp)<tab.length )
        {    for ( var n=Number(chp);n<tab.length-1;n++ )
            {    tab[n]=tab[n+1];    }
            tab.pop();
            affiche();
        }

    }
</script>

Supprimer :
    <input     type="text"
            id="txt"
            onblur="efface(this.value);" />



                Cordialement            Bul         [mon Site]     [M'écrire]
jeudi 25 octobre 2007 à 15:22:02 | Re : Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

Zobibol

Membre Club
Réponse acceptée !
Bonjour, z'a vous
sinon, prototypage sur Array , on va pas s'en priver du genre :
            /**
            * Supprime l'élement à l'indice _idx
            *
            * @param _idx
            *                Indice de l'enregistrement à supprimer.
            */
            Array.prototype.remove = function (_idx){
                for ( var i = _idx; i < this.length -1 ; i++){
                    this[i] = this[i+1];
                }
                this.pop();
                return this;
            }

et un exemple :
            function check(){
                var tt= new Array();
                for ( var i = 0; i < 10; i++){
                    tt.push(i);
                }
                alert ( tt.toString());
                tt= tt.remove(5);
                alert ( tt.toString());
                tt= tt.remove(5);
                alert ( tt.toString());
            }

Et voili voulou ;o)

[o-_-o]
jeudi 25 octobre 2007 à 15:24:22 | Re : Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

sagat06

Merci bultez,

j'ai testé ton script et il fonctionne,on obtient bien ce qui était escompté.

C'est dommage, je pensais qu'il existait une fonction de base permettant de faire cela. Mais à défaut le système D aide toujours.

Encore merci.

Signé Sagat

jeudi 25 octobre 2007 à 15:45:09 | Re : Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

bultez

Membre Club
>je pensais qu'il existait une fonction de base permettant de faire cela.
    c'est peut-être ( probablement ? sûrement ? ) le cas !
        mais n'étant pas particulièrement pointu en javascript,
        il faut attendre l'intervention d'autres personnes,
        alors en attendant...

                Cordialement            Bul         [mon Site]     [M'écrire]
jeudi 25 octobre 2007 à 16:19:32 | Re : Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

bultez

Membre Club
>>prototypage sur Array
    la solution de Zobibol est bien "plus propre" et plus
        générale que mon 1er jet.

                Cordialement            Bul         [mon Site]     [M'écrire]
jeudi 25 octobre 2007 à 17:22:13 | Re : Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

PetoleTeam

Membre Club
Réponse acceptée !
Bonjour à tous,
pourquoi ne pas utiliser la méthode splice des array, elle existe et sert à ajouter et ou à retirer des éléments d'un tableau
.

exemple pour supprimer des éléments

 var Tab    = new Array( "Zero", "Un", "Deux", "Trois", "Quatre", "Cinq" );
 var Indice = 1;
 var Nombre = 2;
 var T_Delete = Tab.splice( Indice, Nombre);
 alert( "Tab :" +Tab +"\nT_Delete :" +T_Delete);


;0)
jeudi 25 octobre 2007 à 18:12:44 | Re : Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

bultez

Membre Club
ah... je venais pour causer de splice !
trottoir : PetoleTeam fut le plus véloce, et c'est nickel
reste à mettre dans Array.prototype, et là : le top     ;o)

                Cordialement            Bul         [mon Site]     [M'écrire]
jeudi 25 octobre 2007 à 23:13:17 | Re : Effacer un élément quelconque d'un tableau Array, et changé l'indice de tous les élements suivants (donc diminuer la taille du tableau)

sagat06

Bonjour, désolé de répondre si tard, donc en fait bonsoir ;)

=> Zobibol, je te remercie, tu m'apprends un nouveau truc, très interessant d'ailleurs. A étudier.

=> Bultez, comme toujours tu m'es d'un grand secours. Merci.

=>PetroleTeam, tu m'as fait ouvrir les yeux. 
   Je m'explique: sur le site selfhtml, j'avais regardé les méthodes pouvant être appliquées au tableau array; j'avais remarqué cette méthode mais leur explication (pas très clairs) m'avaient fait pensé qu'elle remplaçait les elts effacés par des eléments vides. Ce qui ne m'interessait pas, mais n'est en fait pas le cas. Donc merci.

Petit à petit, j'avance, j'avance...
Merci à tous.

Signé Sagat


1 2

Cette discussion est classée dans : élément, taille, tableau, effacer, indice


Répondre à ce message

Sujets en rapport avec ce message

Cellule tableau de taille variable en tps réel [ par cricridebordeaux ] Mon problème :J'ai un tableau de saisie d'informations dans un formulaire dans lequel un autre tableau contient des infos annexes. Le premier gonffle Taille tableau.. [ par nashoy ] Bonjour,Mon but est de pouvoir cacher/montrer une cellule donnée d'un tableau (en jouant avec son width) à l'aide d'une petite fonction qui me pose qq Taille d'un tableau... [ par Deubeul_iou_Bouch ] Bonjour, Dans le cadre de mon site, j'ai créé une fonction de profils s'affichant en popup. Or j'aimerais que le popup en question se redimensionne e recuperer la taille de l'ecran de l'internaute [ par s_tatoue ] Bonjour, -La page principale de mon site est un tableau.-J'aurai aimais savoir s'il était possible de récupérer la hauteur de Formulaire avec tableau auto dimensionné selon la taille de la fenetre [ par julien71 ] Je dois faire un tableau qui se redimensionne selon la taille de la fenetre.Les données sont stockées dans un tableau qui contient des enregistrements Suppression de l'élément x d'un tableau [ par BlouMan ] Salut tout le monde,j'ai un tableau (array) dans lequel sont stocké des objets (jusqu'ici tout va bien). J'aimerais supprimer l'élément qui est à la p Position d'un élément de tableau [ par BlouMan ] Bonjour,je voudrais savoir s'il est possible de connaitre la position d'un élément d'un tableau.Je ne sais pas si vous me comprenez alors le mets un e OnMouseOver texte encadré [ par Oumbra ] Bonjour tout le monde, Je vais allé droit au but ! J'ai un petit problème technique. J'ai créé une table dans un table pour créer une barre variable info bulle google map [ par steph06001 ] bonjour je voudrait afficher sur mon site une info bulle avec divers variable et un lien je bugge sur le lien j' ai function CreationInfoBulle(poin Comment peut-on savoir la taille d'un élément de la page web? [ par b20n00 ] Salut, tout le monde. Je veux juste savoir comment peut-on savoir la taille d'un élément de la page web comme image, table ligne, cellule, frame ou d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales