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

TypeScript Discussion :

Déclarer un tableau


Sujet :

TypeScript

  1. #1
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 128
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 128
    Points : 963
    Points
    963
    Par défaut Déclarer un tableau
    Bonjour,

    Je collecte les positons de plusieurs stations que je dois afficher sur une Map

    Exemple de deux stations:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    export const markers = [
    	// San Francisco
    	{
    		latitude: 37.7749,
    		longitude: -122.4194,
    		latitudeDelta: 0.01,
    		longitudeDelta: 0.01,
    		name: 'San Francisco City Center'
    	},
    	{
    		latitude: 37.8077,
    		longitude: -122.475,
    		latitudeDelta: 0.01,
    		longitudeDelta: 0.01,
    		name: 'Golden Gate Bridge'
    	}
    ];
    J'ai compris qu'en faisant ceci, ca fonctionne mais j'ai une erreur
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
      const myMrker = [
     
      ]
     
     
      data?.stations.map((s) => {
        myMrker.push({
          latitude : s.lat, 
          longitude : s.lng, 
          latitudeDelta : 0.2, 
          longitudeDelta: 0.2, 
          name: s.station_longname
        })
      }) 
    console.log(myMarker)

    Visual Studio Code me souligne myMarker
    Nom : Screenshot 2025-01-01 at 16.43.36.png
Affichages : 78
Taille : 77,5 Ko

    Si je le modifie ainsi, j'ai une autre erreur plus
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      const myMArker:any = [
     
      ]
    Nom : Screenshot 2025-01-01 at 16.45.13.png
Affichages : 73
Taille : 80,2 Ko

    Je pense que ceci est parce que mon tableau a à mélange de types (4 number et 1 string)

    J'ai essayé ceci sachant que cela ne fonctionnera pas avec un push

    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      const myMArker = {
    latitude: number,
        longitude: number,
        latitudeDelta: number,
        longitudeDelta: number,
        name: string
      }

    Ma question est comment bien déclarer ce tableau ou est-ce que c'est au niveau de ma map(), que je dois vérifier ceci?

    Merci pour vos lumières et bonne année à vous
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  2. #2
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 482
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 482
    Points : 4 695
    Points
    4 695
    Par défaut
    attention a tes majuscules/minuscules, sois consistant.

    le mieux pour t'entrainer est de declarer ton type avant
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    type Marker = {
        latitude: number;
        longitude: number;
        latitudeDelta: number;
        longitudeDelta: number;
        name: string;
      };
    puis, dans ton code, quand tu declares ta variable, tu lui dit d'etre de ce type
    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    const markers:Marker[] = []; // note : ici je dis que c'est un tableau de "Marker"
    ainsi, tu pourras utiliser le push() et n'importe quelle autre function lie aux tableaux
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  3. #3
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 128
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 128
    Points : 963
    Points
    963
    Par défaut
    Salut Doksuri

    Merciiiii beaucoup!!!

    attention a tes majuscules/minuscules, sois consistant.
    Que veux-tu dire par là?
    Il est recommandé ou obligatoire de nommer le typage avec la première lettre en majuscule et les const tout en minuscule, comme tu le propose?
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  4. #4
    Expert confirmé
    Avatar de Doksuri
    Profil pro
    Développeur Web
    Inscrit en
    Juin 2006
    Messages
    2 482
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 482
    Points : 4 695
    Points
    4 695
    Par défaut
    dans les exemples que t'as fournis, t'as :

    const markers...
    const myMrker...
    const myMArker...

    c'est un coup a se tromper de variable
    La forme des pyramides prouve que l'Homme a toujours tendance a en faire de moins en moins.

    Venez discuter sur le Chat de Développez !

  5. #5
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 128
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 128
    Points : 963
    Points
    963
    Par défaut
    Oui ne effet, merci!
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  6. #6
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 128
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 128
    Points : 963
    Points
    963
    Par défaut
    Hello

    je voulais savoir si tu pouvais encore m'aider dans ce type de problème. J'ai passé la journée à me prendre le chous, sûrement en train de tourner autour de la solution

    Je dois reproduire ca, dynamiquement

    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    const DATA = [
          {
            title: 'Mesures',
            data: [
              [{value: 1, label: "RRRR"}, {value: 2}, {value: 3}, {value: 4}], 
              [{value: 4}, {value: 3}, {value: 2}, {value: 1}], 
              [{value: 1}, {value: 1}, {value: 3}, {value: 6}]
            ],
          }
        ];

    J'a essayé milles choses, alors je laisse ce que j'ai en dernier

    Mon type est le suivant

    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    type Donnees={
          title:string | undefined,
          data: []
         }

    Je déclare ma valiable dont le contenu (ou disons plus tôt la structure) doit être le même (au final) que DATA.

    Je map mes mesures

    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    measures?.map((d,i) => {
          console.log("ZZZZZZ:")
          console.log(d.datasets?.data)
    }
    le console log m'affiche
    [{"dataPointText": 26.9, "date": "2023-06-22 12:24:58", "label": "Jun-22", "value": 26.9}, {"dataPointText": 28.3, "date": "2023-06-22 12:42:21", "value": 28.3}, {"dataPointText": 29.8, "date": "2023-06-22 12:59:50", "value": 29.8}, {"dataPointText": 28, "date": "2023-06-22 13:17:20", "value": 28}]
    ce qui représente mon premier graph pour le premier capteur

    Donc pour le moment je devrais avoir ca (pour mon premier passe dans 'measures

    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    const DATA = [
          {
            title: 'Mesures',
            data: [
             [{"dataPointText": 26.9, "date": "2023-06-22 12:24:58", "label": "Jun-22", "value": 26.9}, {"dataPointText": 28.3, "date": "2023-06-22 12:42:21", "value": 28.3}, {"dataPointText": 29.8, "date": "2023-06-22 12:59:50", "value": 29.8}, {"dataPointText": 28, "date": "2023-06-22 13:17:20", "value": 28}], 
              [{value: 4}, {value: 3}, {value: 2}, {value: 1}], 
              [{value: 1}, {value: 1}, {value: 3}, {value: 6}]
            ],
          }
        ];

    Puis dans mon deuxième passe dans 'measures', il doit a remplacer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      [{value: 4}, {value: 3}, {value: 2}, {value: 1}], 
              [{value: 1}, {value: 1}, {value: 3}, {value: 6}]

    Je pense que vous me suiver.

    Mon problème et que je n'arrive paaaaas à faire cette construction dynamique, et je pense que je déclare ma mes const. Voici le suite de mon map

    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    const donnees:Donnees[]=[]
         measures?.map((d,i) => {
          console.log("ZZZZZZ:")
          console.log(d.datasets?.data)
     
          donnees.push({
            title: d.datasets?.label,
            data: d.datasets?.data
              //value: d.datasets?.data?.[0],
            } //d.datasets?.data?.[0]
            //data: d.datasets?.data?.[i],
          )
         })
     
    CS Code m'arriche une erreur à niveau de data: d.datasets?.data
    Nom : Screenshot 2025-01-06 at 21.34.12.png
    Affichages : 31
    Taille : 119,9 Ko
     
    PS; j'avais, avant definie, label, value, date, ect dans data, mais toutes mes tentatives ont évhouées. Alors si vous pouviez m'aider, ca me serait, mais grandement utile :D
     
    Toute belle soirée
        console.log("Donnee")
        console.log(donnees)
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

  7. #7
    Débutant  
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 128
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 128
    Points : 963
    Points
    963
    Par défaut
    J'ai finallement réussi, mais ce que j'ai galèré!!!


    Code typescript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    const dataset = new Array()     
        measures?.map((d,i) => {
          dataset.push( {
            title: {
              title: d.datasets?.label,
              fontawesome: d.sensor_type_awe
            },
            data: [d.datasets?.data]
          })
        })
    Il ne suffit pas de tout savoir. Vouloir et persévérer, c'est déjà presque tout!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 17h51
  2. Réponses: 2
    Dernier message: 27/05/2002, 20h46
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 13h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 12h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 17h43

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