$.Extend jQuery


var object1 = {
apple: 0,
banana: {weight: 52, price: 100},
cherry: 97
};
var object2 = {
banana: {price: 200},
durian: 100
};

Cuando queremos que se haga el merge en el object1 y el object2 se mantenga

$.extend(object1, object2);
console.dir(object1);
console.dir(object2);

Cuando queremos que sea recursivo, y se haga el merge en el object1, y el object2 se mantenga

var xyz = $.extend(true,object1, object2);
console.dir(object1);
console.dir(object2);

Cuando queremos y se haga el merge en una nueva variable y object1, object2 se mantengan

var xyz = $.extend({},object1, object2);
console.dir(object1);
console.dir(object2);
console.dir(xyz);

Cuando queremos y se haga el merge en una nueva variable, sea recursivo y object1, object2 se mantengan

var xyz = $.extend(true,{},object1, object2);
console.dir(object1);
console.dir(object2);
console.dir(xyz);

Liga para probar estos ejemplos : $.Extend

Uso de inArray de jQuery

Para saber si un valor se encuentra dentro del arreglo. Si lo encuentra regresa la posición caso contrario regresa -1

Sintaxis:
$.inArray("valor a buscar",arreglo);

Ejemplo básico :
var a = [1,2,3,4,5,6];
console.log($.inArray(5,a)) //Regresa 4 (que es la posicion donde se encuentra)
console.log($.inArray(8,a)) //Regresa -1 (Ya que no se encuentra)

Ejemplo avanzado :
var a = [1,2,3,4,5,6];
var b = [1,2,3,4,6];

for(var i in a){
console.log($.inArray(a[i],b))
}

Regresará en consola : 1,2,3,-1,4
Regresa -1 cuando buscamos el 5 ya que no se encuentra en el arreglo a