数组
数组的定义
当需要处理一组数据,我们就不能以大量的变量去保存这些值,我们可以把这些值放在一个数组中。比如现在我要保存一组学生的成绩
var score = [60, 70, 80, 90];
我们可以通过索引去引用这些值,比如
score[0] //代表数组里的第一个数
score[1] //代表数组里的第二个数
...
我们还可以通过索引去改变里面的值
score[0] = 100; //将第一个数的值改为100
我们还可以通过索引去向数组中添加新的值
score[4] = 50; //添加第五个数的值为50
在数组中数据类型不一定要一样的,比如在数组中我可以同时保存数字和字符串等等不同的数据类型
var array = [10, "hello", true, undefined]
不过我们一般用数组保存相同数据类型的值,这样方便进行批量处理。
数组的遍历
我们可以通过数组名.length
的方法获得该数组的长度。比如
var array = [10, 20, 30, 40];
console.log(array.length); //4
所以我们可以通过下面的方式遍历数组
for(var i = 0; i < array.length; i++){
console.log(array[i]);
}
10
20
30
40
数组案例
求数组中所有数字的和
var arr = [1, 2, 3, 4, 5];
var sum = 0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
}
console.log(sum);
15
求数组中的最大值
var arr = [10, 25, 13, 5, 8];
//假设最大值为数组的第一个值
var max = arr[0];
//遍历数组
for(var i = 0; i < arr.length; i++){
//如果数组中的值比max值大,那么将该值赋值给max
if(arr[i] > max){
max = arr[i];
}
}
console.log(max);
25
对数组进行排序(冒泡排序)
假设对数组进行从小到大排序,冒泡排序的原理是,数组相邻的两个数两两比较,如果前面的数比后面的大,则交换位置,否则不进行任何的操作。
var arr = [10, 2, 13, 25, 5];
//遍历数组
for(var i = 0; i < arr.length; i++){
for (var j = 0; j < arr.length - 1 - i; j++){
//比较相邻的两数,如果前面的数大于后面的数,那么交换位置
if(arr[j] > arr[j + 1]){
//两数交换
var temp = arr[j];
arr[j] = arr[j+1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
[2, 5, 10, 13, 25]