JavaScript有二维数组吗-成都快上网建站

JavaScript有二维数组吗

本篇内容介绍了“JavaScript有二维数组吗”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联公司始终致力于在企业网站建设领域发展。秉承“创新、求实、诚信、拼搏”的企业精神,致力为企业提供全面的网络宣传与技术应用整体策划方案,为企业提供包括“网站建设、自适应网站建设、手机网站建设、微信网站建设、成都微信小程序、成都做商城网站、平台网站建设秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

JavaScript没有二维数组。JavaScript中没有二维数组的概念,但是可以设置数组元素的值等于数组,这样就能模拟二维数组的结构;如果三维数组中每个元素的值也为数组,则可以模拟三维数组,以此类推,通过数组嵌套的形式可以定义多维数组。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

JavaScript 并没有直接支持二维数组,但是可以设置数组元素的值等于数组,这样就能模拟二维数组的结构。如果三维数组中每个元素的值也为数组,则可以模拟三维数组,以此类推,通过数组嵌套的形式可以定义多维数组。

示例1

下面定义一个二维数组。

var a = [  //定义二维数组
    [1.1, 1.2],
    [2.1, 2.2]
];

示例2

下面示例使用嵌套 for 语句,把 1~100 的正数以二维数组的形式进行存储,设计二维数列。

var a = [];
for (var i = 0; i < 10; i ++) {  //行循环
    var b = [];  //辅助数组
    for (var j = 0; j < 10; j ++) {  //列循环
        b[j] = i * 10 + j + 1;  //定义数组b的元素值
    }
    a[i] = b;  //把数组b赋值给数组a
}
console.log(a);  //返回1~100的二维数列

数列格式如下:

a = [
    [1,2,3,4,5,6,7,8,9,10],
    [11,12,13,14,15,16,17,18,19,20],
    [21,22,23,24,25,26,27,28,29,30],
    [31,32,33,34,35,36,37,38,39,40],
    [41,42,43,44,45,46,47,48,49,50],
    [51,52,53,54,55,56,57,58,59,60],
    [61,62,63,64,65,66,67,68,69,70],
    [71,72,73,74,75,76,77,78,79,80],
    [81,82,83,84,85,86,87,88,89,90],
    [91,92,93,94,95,96,97,98,99,100]
];

示例3

JavaScript 不支持二维数组,用户可以模仿二维数组的语法格式来定义数组。下面的写法在语法上虽然不符合规定,但是 JavaScript 也不会抛出异常。

var a = [];
a[0,0] = 1;
a[0,1] = 2;
a[1,0] = 3;
a[1,1] = 4;

如果调用 length 属性,返回值为 2,说明仅有两个元素,分别读取元素的值。

console.log(a.length);  //返回2,说明仅有两个元素有效
console.log(a[0]);  //返回3
console.log(a[1]);  //返回3

JavaScript 把二维数组的下标视为一个逗号表达式,其运算的返回值是最后一个值。前面两行代码赋值就就被后面两行代码赋值覆盖了。因此,如果经过计算之后才确定了下标值,然后再进行存取操作,则可以按如下方式进行设计。

var a = [], i = 1;  //初始化变量
while(i < 10) {  //指定循环次数
    a[i *= 2, i] = i;  //指定下标为2的幂数时才进行赋值
}
console.log(a.length);  //返回17
console.log(a);  //返回数组[,,2,,4,,,,8,,,,,,,,16]

“JavaScript有二维数组吗”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联网站,小编将为大家输出更多高质量的实用文章!


分享文章:JavaScript有二维数组吗
网页路径:http://kswjz.com/article/ppojig.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流