日期:2025/04/01 03:36来源:未知 人气:53
一、创建数组
创建数组的两种常见方式的用法:
使用“new Array()”创建数组
使用“[ ]”字面量来创建数组
// 使用new Array()创建数组
var arr1 = new Array();
// 使用字面量来创建数组
var arr1 = [];
二、访问数组
使用索引来访问数组中的元素,索引是一个数字,从0开始。
三、数组遍历
数组遍历是将数组中的元素全部访问一遍,可以利用for循环来实现,在for循环中让索引从0开始自增。
如果数组元素比较多时,计算数组元素的个数不太方便,这时候可以利用“数组名.length”来快速地获取数组长度。
四、数组元素的操作
1、修改数组长度
获取数组长度:
var arr = ['a', 'b', 'c'];
console.log(arr.length); // 输出结果:3
修改数组长度:
var arr1 = [1, 2];
arr1.length = 4; // 大于原有长度
console.log(arr1); // 输出结果:(4) [1, 2, empty × 2]
var arr2 = [1, 2, 3, 4];
arr2.length = 2; // 小于原有长度
console.log(arr2); // 输出结果:(2) [1, 2]
访问空元素:
var arr1 = [1, 2];
var arr = [1];
arr.length = 4; // 修改数组的长度为4
console.log(arr); // 输出结果:(4) [1, empty × 3]
console.log(arr[1]); // 输出结果:undefined
出现空元素的其他常见的情况:
// 情况1:在使用字面量创建数组时出现空元素
var arr = [1, 2, , 4];
console.log(arr); // 输出结果:(4) [1, 2, empty, 4]
// 情况2:在new Array()中传入数组长度的参数
var arr = new Array(4);
console.log(arr); // 输出结果:(4) [empty × 4]
// 情况3:为数组添加索引不连续的元素
var arr = [1];
arr[3] = 4; // 向数组中添加一个元素,索引为3
console.log(arr); // 输出结果:(4) [1, empty × 2, 4]
2、新增或修改元素
如果给定的索引超过了数组中的最大索引,则表示新增元素,否则表示修改元素。
var arr = ['red', 'green', 'blue'];
arr[3] = 'pink'; // 新增元素
console.log(arr); // (4) ["red", "green", "blue", "pink"]
arr[0] = 'yellow'; // 修改元素
console.log(arr); // (4) ["yellow", "green", "blue", "pink"]
五、数组排序
1、冒泡排序
在冒泡排序的过程中,按照要求从小到大排序或从大到小排序,不断比较数组中相邻两个元素的值,较小或较大的元素前移。
var arr = [10, 7, 5, 27, 98, 31]; // 待排序数组
for (var i = 1; i < arr.length; i++) { // 控制需要比较的轮数
for (var j = 0; j < arr.length - i; j++) { // 控制参与比较的元素
if (arr[j] > arr[j + 1]) { // 比较相邻的两个元素
var temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
} }
console.log(arr); // 输出结果:5,7,10,27,31,98
2、插入排序
通过构建有序数组元素的存储,对未排序的数组元素,在已排序的数组中从最后一个元素向第一个元素遍历,找到相应位置并插入。
var arr = [10, 8, 100, 31, 87, 70, 1, 88];
// 按照从小到大的顺序排列,先遍历无序数组下标
for (var i = 1; i < arr.length; i++) {
//遍历并比较一个无序数组元素与所有有序数组元素
for (var j = i; j > 0; j--) {if (arr[j - 1] > arr[j]) {
var temp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = temp;
} }
}
console.log(arr); // 输出结果:1,8,10,31,70,87,88,100
六、二维数组
1、创建二维数组
使用“new Array()”字面量来创建数组
var info = new Array(
new Array('Tom', 13, 155),
new Array('Lucy', 11, 152)
);
console.log(info[0]); // 输出结果:(3) ["Tom", 13, 155]
console.log(info[0][0]); // 输出结果:Tom
使用“[ ]”字面量来创建数组
var nums = [[1, 2], [3, 4]];
console.log(nums[0]); // 输出结果:(2) [1, 2]
console.log(nums[1][0]); // 输出结果:3
2、二维数组遍历
对二维数组进行遍历,需要用双层循环来控制二维数组中的元素的索引值。
var arr = [[12, 59, 66], [100, 888]];
var sum = 0;
for (var i = 0; i < arr.length; i++) { // 遍历arr数组
for (var j = 0; j < arr[i].length; j++) { // 遍历arr[i]数组
sum += arr[i][j]; // 二维数组元素累加
}
}
console.log(sum); // 输出结果:1125
上一篇:JavaScript之数组