2009-12-24 5 views
1

Dans mon Script.js j'essaie de pousser l'objet à array => tableau d'objets.Pousser l'objet vers le tableau dans js ou jquery?

$("#save_filter").click(function(){ 
    var filter_saved = new Object();//Create new object to store the filter have been saved. 
    var customer_type_selected = $('#id_customer_type :selected').text(); 
    var list_tag_selected = $("#tag_checked").val(); 
    var filter_name = $("#put_filter_name").val(); 

    // Save filter name to the object={tag:[2,3,], customer_type:'TDO', more...} 
    filter_saved = { 
     customer_type: customer_type_selected, 
     tag: list_tag_selected 
    }; 
    var array_obj_filter_saved = [] 

    //I am trying... 
    array_obj_filter_saved.push(filter_saved);//push every objects to array 
    alert(array_obj_filter_saved.length); 
}); 

Mon tableau sera comme ce tableau assciated

array_obj_filter_saved = {"time1":filter_saved1,"time2":filter_saved2} 

Quelqu'un sait comment puis-je pousser chaque objet à un tableau ou un tableau associé?

*** filter_saved ce un objet, il va créer chaque base de temps sur les options sous forme (customer_type_selected (de choicefield), list_tag_selected (checkboxs))

+0

Désolé pour quiz clair: Ce que je veux est array_obj_filter_saved.push (filter_saved); // pression tous les objets à tableau donc mon array_obj_filter_saved = [object_saved1, object_saved2, ...] Thx. – kn3l

Répondre

3

La ligne ci-dessous est pas un tableau, il est un objet. Vous pouvez uniquement avoir des index entiers dans les tableaux, et vous utilisez [] pour définir un tableau (comme vous l'avez fait dans votre exemple).

array_obj_filter_saved = {"time1":filter_saved1,"time2":filter_saved2} 

Vous ne pouvez pas pousser des objets sur un objet, au lieu de les définir, en utilisant l'indice spécifique:

array_obj_filter_saved["keyName"] = "value"; 
1

comme ceci:

var x= { a: 1}; 
x.b = 2; 
3

Ceci est très pas clair pour moi. Est-ce que array_obj_filter_saved est un tableau ou non?

Si vous voulez ajouter tous les éléments d'un Array à un autre Array, vous pouvez utiliser la méthode concat:

var a1 = ["a", "b", "c"], a2 = ["d", "e"]; 
var a3 = a1.concat(a2); // a3 is ["a", "b", "c", "d", "e"] 
+0

oui c'est un tableau. – kn3l

+0

J'ai mis à jour ma question. Merci – kn3l

Questions connexes