JS的二维数组
来源:互联网 发布:梦里花落知多少的含义 编辑:程序博客网 时间:2024/05/17 04:47
今天,记录一下JS的二位数组,并附上例题。
一.二维数组的本质:数组中的元素又是数组。
其实,我们都见过这样的二维数组,只不过没在意罢了,例如:
1
var
arr = [[1,2,4,6],[2,4,7,8],[8,9,10,11],[9,12,13,15]]
//这就是一个二位数组<br>arr[2][3]; // 11 注意:表示第三列第4行所在的元素。角标从0开始
二.下面介绍二维数组的初始化
记住了二维数组的本质,初始化也难不倒我们了。看一下实例
实例一:
1
2
var
arr = [[1,2],[a,b]];
alert(arr[1][0]);
//a 第2列第1行所在的元素
实例二:
1
2
var
arr =
new
array(
new
array(1,2),
new
array(
"a"
,
"b"
));
alert(arr[1][0]);
实例三:二维数组的声明:
1
2
3
4
5
6
7
var
arr =
new
array();
//先声明一维
for
(
var
i=0;i<5;i++){
//一维长度为5
arr[i]=
new
array();
//在声明二维
for
(
var
j=0;j<5;j++){
//二维长度为5
arr[i][j]=1;
}
} <br><br>然后,遍历二维数组arr
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr[i].length;j++){
document.write(arr[i][j]);
}
document.write("<br/>");
}
结果:
注意:我们写入换行是写入的标签,因为document.write()是写入到HTML文档。所以写入换行不能用"\n"。
三、 例题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的二维数组和一个整数,判断数组中是否含有该整数
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
var
arr = [[1,2,4,6],[2,4,7,8],[8,9,10,11],[9,12,13,15]];
//规律:首先选取数组中右上角的数字,如果该数字=要查找的数字,查找过程结束;如果该数字>要查找的数字,剔除这个数字所在的列;
//如果该数字<要查找的数字,剔除这个数字所在的行。
function
find(arr,num){
if
(num==undefined){
console.log(num+
" is null"
);
return
;
}
while
(num!=undefined&&arr.length){
var
temp = arr[arr.length-1][0];
if
(num == temp){
console.log(num+
"is finded"
);
return
temp;
}
else
if
(temp>num){
arr.pop();
if
(arr.length == 1){
console.log(num +
" is not exists,"
+num+
" is less the minValue"
);
return
;
}
}
else
{
for
(
var
i=0;i<arr.length;i++){
if
(arr[i].length ==1){
console.log(num +
" is not exists,"
+num+
" is more than the maxValue"
);
return
;
}
arr[i].shift();
}
}
}
}
var
result = find(arr,undefined);
console.log(result);
1 0
- js的二维数组
- js的二维数组
- JS的二维数组
- JS二维数组的定义
- JS二维数组的定义
- js 二维数组的排序
- js 的一维数组,二维数组
- JS二维数组的定义及赋值
- js中二维数组的写法
- js中二维数组的转置
- Js中二维数组的创建
- js中二维数组的创建方法
- js 定义未知长度的二维数组
- JS二维数组的定义及赋值
- js数组生成json数据 js二维数组的创建
- js 二维数组实现
- Js构造二维数组
- js二维数组定义
- 无盘工作站原理分析
- Keyboard Row
- 非注解的映射器和适配器
- 朋友(并查集)
- oracle 对数据库事务的理解
- JS的二维数组
- g++ thread error:unrecognized command line option '-std=C++11'
- 抽象工厂模式
- 浅谈计算机的组成
- 51nod 1519 拆方块
- java学习日志(一)--String、Integer、int之间的类型转换
- python模块学习---HTMLParser(解析HTML文档元素)
- 笔记四:进程间的通信(信号)
- Android--安卓系统提供了什么