Home > Article > Backend Development > JavaScript 中,这两种数组是一样的吗?
<code> var arr1 =new Array("路飞","佐隆","山治"); var arr2 =new Array("可可罗","琪梦尼","昆贝","冰山"); var arr3 =new Array("库尼斯","甘福鲁","韦博","拉琪"); var arrAll1 = new Array(arr1,arr2,arr3); console.log( arrAll1.toString() ); arrAll2=new Array().concat(arr1,arr2,arr3) console.log( arrAll2.toString() ); </code>
这里的 arrAll1 和 arrAll2 是一样的数组吗??
反正在PHP不是一个东西,但是我这里也不知道是不是一个东西;
但是这里用 tostring 看起来又一样;
<code> var arr1 =new Array("路飞","佐隆","山治"); var arr2 =new Array("可可罗","琪梦尼","昆贝","冰山"); var arr3 =new Array("库尼斯","甘福鲁","韦博","拉琪"); var arrAll1 = new Array(arr1,arr2,arr3); console.log( arrAll1.toString() ); arrAll2=new Array().concat(arr1,arr2,arr3) console.log( arrAll2.toString() ); </code>
这里的 arrAll1 和 arrAll2 是一样的数组吗??
反正在PHP不是一个东西,但是我这里也不知道是不是一个东西;
但是这里用 tostring 看起来又一样;
明显不一样。arrAll1是二维数组,arrAll2是一维数组
访问的时候就知道了:
<code>arrAll1[0][0]; // "路飞" arrAll2[0]; // "路飞"</code>
答案开起来是一样的,但是你会发现,他们会有一些差别,如下:
<code>arrAll1.length; //结果为3 arrAll2.length; //结果为11</code>
这就是区别,第一个只是把三个数组放在一起,
而第二个确是把三个数组的每个元素都单独拿出来并放入arrAll2中