一、定义数组的三种方法
1.字面量定义
var arr = [1,2,3];
console.log(arr); // (3) [1, 2, 3]
字面量定义的时候,直接写。
2.构造函数定义
var arr1 = new Array(1,2,3);
console.log(arr1); // (3) [1, 2, 3]
使用构造函数定义数组,如果传的是多个参数,那么将以这些参数作为元素生成新数组。
var arr1 = new Array(3);
console.log(arr1); // (3) [empty × 3]
传参数如果只传一个数字,那么这个数字将代表数组的长度,数组当中是这么多的undefined
。
3.函数调用定义(不加new的构造函数)
var arr2 = Array(1,2,3);
console.log(arr2); // (3) [1, 2, 3]
var arr2 = Array(3);
console.log(arr2); // (3) [empty × 3]
console.log(arr2[0]); // undefined
写new与不写new的区别:
- 写上
new
这个函数就是构造函数
- 不写
new
这个函数就是普通函数
4.总结
生成一个数组的方法有几种?
四种。
- 第一种:字面量定义
- 第二种:构造函数定义
- 第三种:省了
new
的构造函数(当普通函数调用)定义 - 第四种:数组的
ES6
方式Array.of()
定义
二、二维数组
二维数组的定义
var arr1 = [[1,2],[3,4],[5,6],[7,8]]; // 二维数组
console.log(arr1[0][0]); // 1
小数组作为大数组的元素出现,大数组被称作二维数组。
二维数组的遍历
for(var i = 0; i < arr1.length; i++)
{
for(var j = 0; j < arr1[i].length; j++)
{
console.log(arr1[i][j]);
}
}
练习
通过循环按行顺序为一个5×5
的二维数组a
赋值1到25
的自然数,然后输出该数组的左下半三角
。
第一步,定义一个五行的空数组:
var a = [
[],
[],
[],
[],
[]
]
第二步,给二维数组赋值:
// 循环赋值
for(var i = 0; i < 5; i++)
{
for(var j = 0; j < 5; j++)
{
a[i][j] = i*5 + j +1;
}
}
a[i][j] = i*5 + j +1 | 值 |
---|---|
a[0][0] | 1 |
a[0][1] | 2 |
a[0][2] | 3 |
a[0][3] | 4 |
a[0][4] | 5 |
a[1][0] | 6 |
a[1][1] | 7 |
a[1][2] | 8 |
a[1][3] | 9 |
a[1][4] | 10 |
第三步,打印二维数组的左下三角:
//打印二维数组的左下三角
for(var i = 0; i < 5; i++)
{
for(var j = 0; j <= i; j++)
{
document.write(a[i][j]+' ');
}
document.write('<br>');
}
console.log(a);
1
6 7
11 12 13
16 17 18 19
21 22 23 24 25