Visualizzazione dei risultati da 1 a 5 su 5

Discussione: JS delucidazione

  1. #1
    Utente di HTML.it L'avatar di jackweb
    Registrato dal
    Nov 2002
    Messaggi
    455

    JS delucidazione

    Salve...ho da poco iniziato a vedere i Javascript xchè li ritengo importatnti x il web ma non essendo portato di un cervello matematico, anzi... avrei bisogno di una mano per capire una cosa semplice!

    Ho definito l'oggetto chitarra con le varie caratteristiche tra cui l'anno....praticamente vorrei avere come risultato il minore tra le date delle chitarre (<).....potete aiutarmi? so che è una cavolata ma mi serve per capire come funzia il JS!!!

    Grazie!



    function chitarra(marca_c, modello_c, colore_c, anno_c){
    this.marca = marca_c
    this.modello = modello_c
    this.colore = colore_c
    this.anno = anno_c
    }

    function musica(genere_m, anno_m , gruppo_m) {
    this.genere = genere_m
    this.anno = anno_m
    this.gruppo = gruppo_m
    }

    function persona(nome_p, eta_p){
    this.nome = nome_p
    this.eta = eta_p
    }



    chitA = new chitarra("Fender", "Strato", "blu", 1968 )
    chitB = new chitarra("Melgibson", "Les Poool", "noce", 1964)
    chitC = new chitarra("Yamacka", "Number one", "verde", 1984)

    musA = new musica("rock","1968","rolling")
    musB = new musica("hardrock","1970","Led Zeppelin")
    musC = new musica("metal", "1980", "Metallica")

    perA = new persona("marco","30")
    perB = new persona("andrea","25")
    perC = new persona("mario","54")

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao jackweb,

    per trovare l'anno minore dovresti mettere i tuoi oggettini in un array
    faccio un esempio
    codice:
    function chitarra(marca_c, modello_c, colore_c, anno_c){ 
      this.marca = marca_c 
      this.modello = modello_c 
      this.colore = colore_c 
      this.anno = anno_c 
    } 
    function AnnoMinore(arrChitarre){
      var i,indice=0
      for(i=1;i<arrChitarre.length;i++)
        if(arrChitarre[i].anno<arrChitarre[indice].anno)
          indice=i
      return arrChitarre[indice]
    }
    
    
    chit = new Array()
    chit[chit.length] = new chitarra("Fender", "Strato", "blu", 1968 ) 
    chit[chit.length] = new chitarra("Melgibson", "Les Poool", "noce", 1964) 
    chit[chit.length] = new chitarra("Yamacka", "Number one", "verde", 1984) 
    
    
    cMin = AnnoMinore(chit)
    document.write(cMin.marca+'
    '+cMin.modello+'
    '+cMin.colore+'
    '+cMin.anno)

  3. #3
    Utente di HTML.it L'avatar di jackweb
    Registrato dal
    Nov 2002
    Messaggi
    455
    Grazie 1000...avevo pensato che ci volesse l'array ma volevo sapere se era possibile ottenere quel risultato anche senza!!!
    Quando uno è un novello (come il vino) pensi sempre che le cose si possano fare anche in altre maniere...
    Grazie ancora della disponbilità...ora mi guarderò per benino il codice.....

  4. #4
    Utente di HTML.it L'avatar di jackweb
    Registrato dal
    Nov 2002
    Messaggi
    455
    Ciao a tutti....

    Ciao Willybit....praticamente, x quel che ho capito(...ho capito?... ), il tuo codice mi ridà il risultato a seconda della posizione é[0] [1] [2] nell'array....quello che dicevo io è che proprio in base al valore numerico 1964-1968-1984 il js mi restituiva quello minore senza basarsi sulla posizione nell'array. questo xchè se io inverto le posizioni non mi ridà + il valore esatto....Non so se mi sono spiegato...come se il js dovesse leggere l'anno dei tre array e restituirmi sempre 1964 proprio perchè è il minore tra i tre senza legare il codice alla posizione nell'array!
    Sto facendo un casino??? è solo che x cercare di imparare devo per forza incasinarmi la vita......

  5. #5
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao jackweb,

    lo scriptino che ho fatto trova il "record" con l'anno minore indipendentemente dall'ordine nell'array.
    codice:
    function AnnoMinore(arrChitarre){
      var i,indice=0
      for(i=1;i<arrChitarre.length;i++)//scorro tutto l'array di oggetti chitarra
        if(arrChitarre[i].anno<arrChitarre[indice].anno)//controllo l'ano minore
          indice=i
      return arrChitarre[indice]//restituisco l'oggetto con anno minore
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.