zoukankan      html  css  js  c++  java
  • js处理自己不能定义二维数组的方法

    var a= new Array(new Array(1,2),new Array('b','c'));
    document.write(a[1][1]);

    说白了,就是利用for循环定义二维数组!

    <script language="javascript" type="text/javascript">
        function Array_2(nRow,nColumn){
            var array1=new Array(); //定义一维数组
            for(i=0;i<nRow;i++){
                           //将每一个子元素又定义为数组
                array1[i]=new Array();
    //----------------------------------------
             for(n=0;n<nColumn;n++){
                    array1[i][n] = ''; //此时aa[i][n]可以看作是一个二级数组
                }
    //--------------------------------------
           }
            return array1;
        }
         
        var array_2= Array_2(3,2);
        array_2[0][1] = 1;
        array_2[0][2] = 2;
        array_2[1][1] = 3;
        array_2[1][2] = 4;
         
        document.write(array_2[1][2]);
    </script>

    //虚线部分还可以采用js Array内置对象的push()方法来实现,因为arr1.push(arr2)时候,将会把整个数组arr2做为一个元素添加到arr1数组中,所以虚线中的for循环完全可以用下面这条语句替换掉:array1[i].push(new Array(nColumn));  

    今天还发现,还可以这样定义也可以做成二维数组;

    var a=new Array(new Array(1,2),new Array('b','c'));
    document.write(a[
    1][1]);

    ps:注意区分push和concat的区别!

    push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用 concat 方法

    concat 方法返回一个 Array 对象,其中包含了 array1 和提供的任意其他项目的连接。要加的项目(item1 … itemN)会按照从左到右的顺序添加到数组。如果某一项为数组,那么添加其内容到 array1 的末尾。如果该项目不是数组,就将其作为单个的数组元素添加到数组的末尾。

    很好嘛!!!

  • 相关阅读:
    CodeForces Gym 100500A A. Poetry Challenge DFS
    CDOJ 486 Good Morning 傻逼题
    CDOJ 483 Data Structure Problem DFS
    CDOJ 482 Charitable Exchange bfs
    CDOJ 481 Apparent Magnitude 水题
    Codeforces Gym 100637G G. #TheDress 暴力
    Gym 100637F F. The Pool for Lucky Ones 暴力
    Codeforces Gym 100637B B. Lunch 找规律
    Codeforces Gym 100637A A. Nano alarm-clocks 前缀和
    TC SRM 663 div2 B AABB 逆推
  • 原文地址:https://www.cnblogs.com/zfying/p/2848646.html
Copyright © 2011-2022 走看看