jquery .serializeArray (); agrega otro valor en la parte superior para pasar a ajax

Estoy haciendo lo siguiente

var data = $(form).serializeArray(); // now i want to add another value on this data data.username = 'this is username'; 

Quiero saber cómo puedo agregar otro valor después de hacer serializeArray (), probé todas las cosas que sé, pero nada lo está haciendo funcionar. cualquier idea por favor.

tratar

 data[data.length] = { name: "username", value: "The Username" }; 
 var data = $(form).serializeArray(); data.push({name: 'username', value: 'this is username'}); 

vea también: jQuery post () con serialización y datos adicionales

 var FormAttr = $('#form_id').serializeArray(); FormAttr.push({name: "Name_Of_Attribute", value:"Value_Of_Attributes"}); 

Creo que es solo

 data['username'] = 'this is a username';