编程语言
首页 > 编程语言> > javascrip如何创建二维数组 并解决数组问题(查找字母位置)

javascrip如何创建二维数组 并解决数组问题(查找字母位置)

作者:互联网

javascrip 如何创建二维数组+查找字母位置

你好WO SHI 七七卡卡 ^ _ ^

随机生成10X10大小的二维字符数组,显示内容后,查找字符’a’在二维数组第一次出现的位置,若没有则提示无。

今天我们来探讨一下如何用javascrip在二维数组中查找字母的位置
探讨前我们要先知道在 javascrip 中如何创建二维数组

一、如何创建二维数组 ?_?

0.0首先在我们要先知道,如何定义一个二维数组

我们在java中定义二维数组时很简单int a=[][] ,a=new int[2][4](在这只举两个例子)但在 javascrip中,却有一点点复杂。

例如, 我们先试着定义一个 4*3 的二维数组
0.1首先我们先创建一个数组

var a =new Array() ; 

0.2这是创建数组的第一步,创建一维数组,我们再定义一个 i j 作为元素中的个数

var i, j; 

0.3随后我们用 for 循环 ,做显示一维的长度,也就是有几行(4行)

for(i=0;i<4;i++){           
 } 

0.4我们在第一个for循环里创建二维数组

for(i=0;i<4;i++){  
    a[i]= new Array();         
 } 

0.5之后再从 for循环中再 定义二维数组的长度,也就是显示有多少列(3列)

 for(i=0;i<4;i++){
                a[i]= new Array();
               for(j=0;j<3;j++) { 
                a[i][j] = 10+Math.floor(Math.random() *40);
                }
            } 
其中`10+Math.floor(Math.random() *40)`中 10+ 是为了打印的时候变得整齐`*40`是     0-40之间的数

0.6随后我们再定义一个xianshi将二维数组打印出来

var xianshi=' ';
        for(i=0;i<4;i++){
            for(j=0;j<3;j++)  
                xianshi= xianshi+a[i][j]+',';
            xianshi=xianshi+'<br/>';   
            }
            document.getElementById("demo2").innerHTML=xianshi;

0.7 打开浏览器,看看显示的结果
在这里插入图片描述

二、 如何运用 javascrip 查找字母位置 ?_?

1.1 因为我们上面定义的二维数组是以数字的形式进行编译,那我们只需要将数字转化成字母就可以了。我们用到了 unicode编码

a[i][j] = String.fromCharCode(97 + Math.floor(Math.random() * 26));
//26个英文字母所以*26

(unicode编码的知识在这就不多说了,感兴趣的话可以自己查一查)

var xianshi = ' ';
var i, j;
for (i = 0; i < 10; i++)
        a[i] = new Array();

    for (i = 0; i < 10; i++)
        for (j = 0; j < 10; j++)
            a[i][j] = String.fromCharCode(97 + Math.floor(Math.random() * 26));

    for (i = 0; i < 10; i++) {
        for (j = 0; j < 10; j++)
            xianshi = xianshi + a[i][j] + ',';
        xianshi = xianshi + '<br/>';
    }
    document.getElementById("demo1").innerHTML = xianshi;

在这里插入图片描述
1.2 (我们就找a的位置吧)随后我们定义zhaodaole帮助我们判断第一个a在哪

var zhaodaole=0;

1.3既然是二维数组我们就要行和列一起开始找,用for循环的嵌套进行重复判断的动作,当我们如果检索到第一个 a 令zhaodaole=2;//可以等于任意一个数字
if 判断语句并用break跳出程序

for (i = 0; i < 10; i++) {
        for (j = 0; j < 10; j++)
           {
               if(a[i][j]=='a') zhaodaole=2; 
               if(zhaodaole==2) break;
           }
        if(zhaodaole==2)break;
    }

1.4 最后我们输出 i j 的值(从0开始)

document.getElementById("demo2").innerHTML = 'a的位置为:'+i+','+j;

2 完整代码:
在这里插入图片描述
这个代码运用了比较多的知识点,但还是可以解决的,今天我们学习了如何创建二维数组,如何查找字母(a)的位置,希望对你在学习javascrip的道路上提供一点点帮助。谢谢,

WO SHI 七七卡卡 ^ _ ^ 如果代码对你有帮助还希望 点赞+关注

标签:10,++,javascrip,二维,查找,xianshi,数组
来源: https://blog.csdn.net/qq_47018979/article/details/105568212