It's really strange, I'm modifying one of the arrays and the other one gets modified! I found no way of making it work other than typing two times the array. What can I do?
function test(a,b,c,d)
{
    this.a=a;
    this.b=b;
    this.c=c;
    this.d=d;
}
var data0=data=[[1,2,3,4],[5,6,7,8]];
function construct(constructor,args)
{
    function F(){return constructor.apply(this,args);}
    F.prototype=constructor.prototype;
    return new F();
}
for(var i=0,l=data.length;i<l;i++)
{
    data[i]=construct(test,data[i]);
}
console.log(data0);
 
    