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

WBOY
リリース: 2016-06-06 20:12:52
オリジナル
829 人が閲覧しました

<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中

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート