Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500

    [jQuery] Ordinare array

    Salve,
    sto cercando di ordinare un'array in base alla data più recente in questo modo:

    codice:
    var defaults = notifications: [ 
    					{
    						id:1,
    						category: 1,
    						title: 'abcde',
    						text: 'abcde',
    						ago: new Date(y, m, d, h-4, mi)
    						
    					},
    					{
    						id:2,
    						category: 1,
    						title: 'abcde',
    						text: 'abcde',
    						ago: new Date(y, m, d, h-2, mi)
    					},
    					{
    						id:3,
    						category: 2,
    						title: 'abcde',
    						text: 'abcde',
    						ago: new Date(y, m, d, h-1, mi)
    					},
    					
    				]
    Poi tramite un semplice for ho cercato di riordinarlo ma non funziona:

    codice:
    for(var i = 0;i < defaults.notifications.length; i++){
    			if(i>0){
    				if(dateDifference(new Date(),defaults.notifications[i].ago) < 	dateDifference(new Date(),defaults.notifications[i-1].ago)){
    					tmp = defaults.notifications[i];
    					defaults.notifications[i] = defaults.notifications[i-1];
    					defaults.notifications[i-1] = tmp;
                                            i-=1
    				}
    			}
    		}
    la funzione dateDifference mi restituisce i secondi di differenza tra la data attuale e quella della notifica.

    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    UP Please!

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Forse con la tua pagina d'esempio online è meglio, perché non costituisci subito array come la vuoi invece che riordinarla in seguito?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    forse mi sfugge qualcosa, ma userei sort, senza ciclo e senza valutare gli indici
    codice:
    defaults.notifications.sort(function(a,b){
    	var c = a.ago;
    	var d = b.ago;
    	return c-d;
    })
    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    500
    Grazie a tutti in particolare a Xinod!

    It works

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.