IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

R�cup�ration complexe dans un tableau


Sujet :

JavaScript

  1. #1
    Membre �clair�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Par d�faut R�cup�ration complexe dans un tableau
    Bonjour,

    j'ai ce tableau :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    array_period['2'] = new Array('#','#','#','#','#','#','#','#','8','9','10','11','#','#','14','15','16','17','#','#','#','#','22','23');
    et je voudrais r�cup�rer :
    8-11
    14-17
    22-23

    au final, il me faudrait sortir cette chaine :
    "8-11,14-17,22-23"

    je connais pas trop les fonctions js pour les tableau
    alors un aide serait pr�cieuse
    d'avance merci

  2. #2
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Bonjour,
    tu parcours ton tableau de fa�on standard
    - Tant que c'est un # tu ne fais rien
    - Si c'est un chiffre tu le mets dans une chaine
    - Si tu retombes sur un # tu fermes la chaine
    et ainsi de suite...

    en tr�s grossier...

  3. #3
    Membre �clair�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Par d�faut
    merci

    donc dans la chaine je vais avoir
    '8','9','10','11'

    et apres je dois la trater pour garder le 1er et le dernier nombre
    il existe une fonction pour cela ?

  4. #4
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    Il existe surtout 100000 (*) fa�ons d'y arriver
    - tu ne r�cup�res dans la boucle que les donn�es au changement # -> x et < y -> #
    - d�composition de la chaine en tableau dont tu ne gardes que le premier �l�ment et le dernier

    cela en fait d�j� 2

    (*) j�exag�re surement!

  5. #5
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    pour le fun ...
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    my_array= new Array('#','#','#','#','#','#','#','#','8','9','10','11','#','#','14','15','16','17','#','#','#','#','22','23');
     
    my_array=my_array.join('-');
    matches=my_array.match(/(\d+-)+\d+/g).join(',').replace(/(\d+-)(\d+-)*(\d+,?)/g,"$1$3");
    alert(matches)
    //le résultat peut être splitté pour obtenir un array
    my_final_array= matches.split(',')
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

  6. #6
    Mod�rateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 211
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par d�faut
    effectivement soluce #3, mais il te faut traiter �galement si il y a moins de 2 chiffres cons�cutifs, aller au clavier

    PS: cela ne fait peut �tre pas partie du cahier des charges, dans ce cas soluce #1

  7. #7
    Membre �clair�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    616
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 616
    Par d�faut
    Merci BEAUCOUP
    je n'aurais jamais pu trouver un code pareil
    (mais j'essayerai de m'en inspirer dor�navant ...)
    Bravo et encore Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [XL-2013] Calcul complexe dans un tableau
    Par DelilahH dans le forum Macros et VBA Excel
    R�ponses: 8
    Dernier message: 11/11/2014, 12h34
  2. R�cup�ration titre dans une tableau
    Par lemsv dans le forum Macros et VBA Excel
    R�ponses: 6
    Dernier message: 14/04/2014, 17h19
  3. R�cup�ration valeurs dans un tableau JSON
    Par ladinho58 dans le forum jQuery
    R�ponses: 2
    Dernier message: 09/01/2013, 07h50
  4. recherche complexe dans un tableau
    Par Philip_m dans le forum Langage
    R�ponses: 2
    Dernier message: 09/11/2012, 02h04
  5. affichage complexe dans un tableau
    Par stomerfull dans le forum Langage
    R�ponses: 2
    Dernier message: 12/01/2010, 10h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo