jQuery: trasformare un oggetto in array

I metodi toArray() e makeArray() di jQuery trasformano gli elementi del DOM contenuti in un set di jQuery in semplici array. Sarebbe utile se jQuery disponesse anche di un metodo per convetire oggetti JavaScript in array. Per questo motivo ho creato una semplice funzione globale di jQuery e l'ho chiamata toArrayFromObject(). Questa funzione non fa altro che creare un array contenente le proprietà e i valori di un oggetto. Il codice è il seguente:


(function($) {

  $.toArrayFromObject = function(obj) {
  
    var arr = [];
    
    $.each(obj, function(property, value) {
    
       arr.push(property);
       arr.push(value);     
    
    
    });
  
    return arr;
  };


})(jQuery);

Un semplice test:


var Class = {
  type: 'Test',
  property: 'Foo'
};

alert($.toArrayFromObject(Class));
// visualizza type,Test,property,Foo

Il metodo in questione non fa altro che usare un ciclo each() sull'oggetto in questione inserendo nell'array da restituire le sue proprietà e i valori di tali proprietà.

Torna su