• 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 的末尾。如果该项目不是数组,就将其作为单个的数组元素添加到数组的末尾。

    很好嘛!!!

  • 相关阅读:
    jmeter解决乱码
    RedisTemplate方法详解
    linux centos7忘记密码?
    redis config 详解
    Spring Security使用详解(基本用法 )
    Oauth介绍
    springSecurity+Oauth2.0之授权模式(客户端、密码模式)
    springCloud Sleuth分布式请求链路跟踪
    spring cloud Stream消息驱动
    HttpServletResponse
  • 原文地址:https://www.cnblogs.com/zfying/p/2848646.html
Copyright © 2020-2023  润新知