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 :

supprimer des 00


Sujet :

JavaScript

  1. #1
    Membre du Club
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Mai 2011
    Messages : 177
    Points : 50
    Points
    50
    Par défaut supprimer des 00
    salut tout le monde
    j'ai cet affichage là qui comporte des 00 concaténé avec chaque élément de mon tableau
    00,test100,testk00,test200,test00,TtestAT00,testff00,testbb00,Best of shopping00,BBC World00,CNBC Europe.

    j'ai essayé d'utiliser les filtres comme ci dessous mais ça n'a pas marché
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    monArray = monArray.filter(function (item){
        return item !== "00";
    });

  2. #2
    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 642
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 642
    Points : 66 668
    Points
    66 668
    Billets dans le blog
    1
    Par défaut
    Quel est le but final ?
    supprimer de l'array les element se terminant par 00 ?

    filter n'est pas natif en javascript ...
    il va te falloir prototyper les Array

    tu utilises jquery ?

  3. #3
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    regarde du coté de la fonction Array.map : tu fournis une fonction qui sera appliquée itérativement à chacun des éléments du tableau, et retournera un nouveau tableau constitué des résultats des exécutions successives. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    var tab = ["abc", "test00", "00", "9009", "00TEST500"];
     
    tab = tab.map(function(elem) {
    	var last = elem.substr(elem.length - 2);// récupérer les 2 derniers caractères de l'élément
    	return (last == "00") ? elem.substr(0, elem.length - 2): elem;
    });
    // on obtient : tab = ["abc", "test", "", "9009", "00TEST5"];
    et si tu as besoin d'avoir plusieurs appels, plutot que de dupliquer le code de la callback, fais-en une fonction nommée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function supprimer00EnFinDeChaine(elem) {
    	var last = elem.substr(elem.length - 2);// récupérer les 2 derniers caractères de l'élément
    	return (last == "00") ? elem.substr(0, elem.length - 2): elem;
    }
     
    var tab1 = ["abc", "test00", "00", "9009", "00TEST500"];
    var tab2 = ["abc", "test00", "00", "9009", "00TEST500"];
    var tab3 = ["abc", "test00", "00", "9009", "00TEST500"];
     
    tab1 = tab1.map(supprimer00EnFinDeChaine);
    tab2 = tab2.map(supprimer00EnFinDeChaine);
    tab3 = tab3.map(supprimer00EnFinDeChaine);

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    tab = tab.map(function(item){
        return item.replace(/0*$/, '');
    });

  5. #5
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Oui, c'est plus lisible et plus court avec une RegExp
    J'ai tendance à privilégier la solution "sans regexp" quand les opérations à mener sont simples. Mais j'admets que ce vieux réflexe lié à la performance, n'a que très rarement une importance sensible. A la limite, quand la fonction est appelée à tour de bras comme "brique" élémentaire de traitements beaucoup plus complexes...

    Ici, ce n'est manifestement pas le cas, donc +1 Bovino

Discussions similaires

  1. Supprimer des données dans un xml
    Par pingoui dans le forum Format d'échange (XML, JSON...)
    Réponses: 49
    Dernier message: 12/08/2004, 16h49
  2. Réponses: 2
    Dernier message: 07/07/2004, 17h44
  3. HELP!Comment supprimer des enregistrements de tables jointes
    Par ROOTPARIS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/06/2004, 16h41
  4. Réponses: 14
    Dernier message: 15/01/2004, 01h15
  5. Réponses: 2
    Dernier message: 12/01/2004, 13h56

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