Home  >  Article  >  Backend Development  >  JavaScript 中,这两种数组是一样的吗?

JavaScript 中,这两种数组是一样的吗?

WBOY
WBOYOriginal
2016-06-06 20:12:52826browse

<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是一维数组
JavaScript 中,这两种数组是一样的吗?

访问的时候就知道了:

<code>arrAll1[0][0]; // "路飞"
arrAll2[0];    // "路飞"</code>

答案开起来是一样的,但是你会发现,他们会有一些差别,如下:

<code>arrAll1.length;  //结果为3
arrAll2.length;  //结果为11</code>

这就是区别,第一个只是把三个数组放在一起,
而第二个确是把三个数组的每个元素都单独拿出来并放入arrAll2中

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn