这个JavaScript代码中发生了什么?阵列1是否在阵列2上镜像?

这个JavaScript代码中发生了什么?阵列1是否在阵列2上镜像?,javascript,arrays,netsuite,suitescript,suitescript2.0,Javascript,Arrays,Netsuite,Suitescript,Suitescript2.0,JS新手,试图理解这个代码块中发生了什么? 数组1的值是否镜像到数组2上,从而使数组2[0]=“abc”、数组2[1]=“def”、数组2[2]=“ghi”?&然后删除数组1的值以使其再次为空?感谢您的关注: var array1 = []; var array2 = []; var x = 0; array1[0]='abc', array1[1]='def',array1[2]='ghi' array2[x] = arra

JS新手,试图理解这个代码块中发生了什么? 数组1的值是否镜像到数组2上,从而使数组2[0]=“abc”、数组2[1]=“def”、数组2[2]=“ghi”?&然后删除数组1的值以使其再次为空?感谢您的关注:

    var array1 = [];
    var array2 = [];
    
    var x = 0;
    
    array1[0]='abc', array1[1]='def',array1[2]='ghi'
    
    array2[x] = array1;
    x++
    array1 = []
阵列2[x]=阵列1;x为0表示array2的第一个元素现在存储对array1的引用。例如,这意味着array2[0][1]是def。在此之后调用array1=[]可以让array1指向一个新的空数组。它对array2没有影响。将console.logarray2放在末尾。