`

js处理定义二维数组的方法——原创

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

很好嘛!!!

分享到:
评论

相关推荐

    微信小程序——二维数组添加机柜页面.zip

    创建“二维数组添加机柜页面”时,首先需要理解如何在JavaScript中操作二维数组。可以通过push、pop、splice等方法对数组进行增删改查操作。例如,向二维数组中添加新的机柜信息,可以创建一个新的子数组,然后利用...

    易语言生成二维json数组源码

    1. **创建结构体**:根据需要存储的数据,定义相应的结构体,例如,如果要生成学生信息的二维数组,可以定义一个包含“姓名”、“年龄”等字段的结构体。 2. **初始化数据**:在程序中创建结构体实例,填充数据。这...

    JS中数组与对象的遍历方法实例小结

    reduce()也可以用来将二维数组扁平化为一维数组。 对象的遍历方法包括: 1. for...in循环:这是一个针对对象属性的遍历方法,可以遍历对象自身及其原型链中所有可枚举的属性。 示例代码: ```javascript let ...

    WebGL着色器——数组

    首先,WebGL着色器允许声明数组类型变量,但与JavaScript或C不同的是,它们仅支持一维数组,不支持多维数组。数组的声明语法如下: ```glsl 数组元素的数据类型 数组变量名[数组元素个数]; ``` 例如,你可以声明一...

    数字绕圈算法 JS 实现

    上述代码定义了一个名为 `circleShift` 的函数,接受一个二维数组作为参数,返回一个新的数组,其中包含了按照顺时针方向排列的原数组元素。你可以使用这个函数对任何二维数组执行数字绕圈操作。 在 "brickwall....

    javascript-leetcode面试题解递归与回溯问题之第560题和为K的子数组-题解.zip

    通常,可以使用一个二维数组来保存所有满足条件的子数组,然后在函数的最后返回这个数组。 递归与回溯算法的关键在于其能够系统地探索所有可能的解决方案,而不仅仅是找到第一个。在解决和为K的子数组问题时,这种...

    JavaScript for Breakfast

    - 介绍二维数组的基本概念,以及如何声明和初始化二维数组。 - **数组操作** - 讲解了如何遍历二维数组、查找元素、添加或删除元素等操作。 ##### 3. 对象 - **构建JavaScript对象** - 对象基础:解释了...

    网页模板——js实现的2048军旗版游戏源码.zip

    游戏的核心是二维数组,用来存储棋盘上的数字方块。每个方块代表一个特定的值,如2、4等,随着游戏的进行,这些数值会通过合并逐渐增大,目标是达到军旗所代表的最大数值(通常是2048)。在JavaScript中,我们可以...

    javascript写的俄罗斯方块(可选等级分数累加)

    它涉及到了JavaScript的基础语法、事件监听、DOM操作、数据结构(如二维数组)、算法(如方块旋转和碰撞检测)以及用户交互设计等多个重要概念。对于想要提升JavaScript技能或者对游戏开发感兴趣的开发者来说,这是...

    javascript-leetcode面试题解递归与回溯问题之第54题螺旋矩阵-题解.zip

    螺旋矩阵是一种特殊的矩阵布局方式,数据按照顺时针方向螺旋地填充二维数组。例如,一个3x3的矩阵应该如以下方式填充: ``` [1, 2, 3] [8, 9, 4] [7, 6, 5] ``` 解题思路通常分为两个主要部分:状态转移和边界条件...

    Simple Bejeweled Game using JavaScript with Free Source Code.zip

    首先,我们需要创建一个二维数组来表示游戏板,每个元素代表一个宝石。数组的行和列对应游戏界面的格子。 4. **数据操作**:JavaScript的数组方法如`splice()`和`slice()`在这里发挥重要作用。通过交换相邻宝石的...

    Cavity-Problem:确定方阵中的空腔。 蛀牙的细菌比其他任何牙齿都多

    首先,"Cavity-Problem"的核心是处理一个二维数组(即方阵),寻找特定的元素——在这个情况下,代表蛀牙的细胞。蛀牙的定义是其周围的四个相邻单元(上、下、左、右)中的细菌数量较少。因此,我们不仅需要理解如何...

    HTML5 canvas俄罗斯方块小游戏.zip

    2. **游戏区域**:定义一个二维数组表示游戏网格,每个单元格代表一个可能的位置。在Canvas上,这对应于一系列的像素坐标。 3. **方块的移动和旋转**:通过改变方块的坐标和形状来实现移动,使用旋转算法(如四象限...

    js坦克大战

    此外,游戏中的地图通常由二维数组表示,每个元素代表一个地形特征,如空地、障碍物或敌人位置。JavaScript可以方便地操作这些数据结构,实现坦克在地图上的移动和碰撞检测。 "js坦克大战"还涉及到一些工具的使用,...

    原生JS--俄罗斯方块.zip

    在JavaScript中,我们首先需要创建一个二维数组来表示游戏的网格。每个元素代表网格中的一个位置,可以为空或填充有方块的一部分。接下来,定义方块对象,包括其形状(由单元格数组表示)和当前位置。方块的生成和...

    纯js实现俄罗斯方块

    7. **状态管理**:维护游戏的状态,如当前方块、下一方块、游戏板的二维数组表示,以及玩家得分等。 8. **CSS样式**:虽然主要依赖JavaScript,但CSS也用于设置游戏界面的布局和视觉效果,如背景色、边框、字体等。...

    2021-2022计算机二级等级考试试题及答案No.2430.docx

    - **选择题解析:**题目询问Visual FoxPro中支持哪种类型的数组,正确答案是C选项——可以使用一维数组和二维数组。 ### 13. 数据库表间的关系 **知识点概述:** - **一对多关系:**在数据库设计中,一对多关系是...

    javascript-leetcode面试题解递归与回溯问题之第212题单词搜索-题解.zip

    我们可以通过一个二维数组记录已访问过的位置,避免重复搜索。 具体步骤如下: 1. 初始化一个标记二维数组,用于记录已经访问过的节点。 2. 定义一个递归函数,接受当前坐标和已匹配的单词字符。 3. 在递归函数中...

    js版俄罗斯方块

    这些对象通常以二维数组的形式存储,便于操作和渲染。 2. **游戏循环**:游戏运行在一种称为“主循环”或“游戏循环”的机制下。JavaScript通过`setInterval`或`requestAnimationFrame`来定期更新游戏状态,处理...

Global site tag (gtag.js) - Google Analytics