JavaScript数组
目标:
- 能够知道为什么要有数组
- 能够创建数组
- 能够获取数组中的元素
- 能够对数组进行遍历
- 能够给数组新增一个元素
- 能够独立完成冒泡排序的案例
目录:
- 数组的概念
- 创建数组
- 获取数组中的元素
- 遍历数组
- 数组中新增元素
- 数组案例
1.数组的概念
问︰之前学习的变量,只能存储一个值。如果我们想存储班级中所有学生的姓名,那么该如何存储呢?、
答:可以使用数组(Array)。数组可以把一组相关的数据一起存放,并提供方便的访问(获取)方式。
问:什么是数组呢?
答:数组是指一组数据的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素。数组是一种将一组数据存储在单个变量名下的优雅方式。
// 普通变量一次只能存储一个值
varnum = 10;
// 数组一次可以存储多个值
var arr =[1,2,3,4,5];
2.创建数组
2.1数组的创建方式
JS中创建数组有两种方式∶
- 利用new创建数组
- 利用数组字面量创建数组
2.2利用new创建数组
var 数组名 = new Array () ;
var arr = new Array () ;//创建一个新的空数组
- 这种方式暂且了解,等学完对象再看
- 注意Array (),A要大写
2.3利用数组字面量创建数组
// 1.使用数组字面量方式创建空的数组
var 数组名 = [] ;
// 2.使用数组字面量方式创建带初始值的数组
var 数组名 = ['小白','小黑','大黄','瑞奇'] ;
- 数组的字面量是方括号[]
- 声明数组并赋值称为数组的初始化
- 这种字面量方式也是我们以后最多使用的方式
2.4数组元素的类型
数组中可以存放任意类型的数据,例如字符串,数字,布尔值等。
var arrstus = [ '小白·,12,true ,28.9];
2.5回顾
- 1.数组的作用是什么?
- 2.创建数组我们有哪两种方式?哪一种我们最常用?
- 3.什么是数组元素﹖数组里面类型有限制吗?
3.获取数组中的元素
3.1数组的索引
索引(下标)∶用来访问数组元素的序号(数组下标从0开始)。
var arr = [ '小','小黑','大黄','瑞奇'];
数组可以通过索引来访问、设置、修改对应的数组元素,我们可以通过“数组名[索引]” 的形式来获取数组中的元素。
这里的访问就是获取得到的意思
var arr = [ '小','小黑','大黄','瑞奇'];
console.log(arr);
console.log(arr[2]);
console.log(arr[3]);
var arr = [ '小','小黑','大黄','瑞奇'];
console.log(arr);
console.log(arr[2]);
console.log(arr[3]);
console.log(arr[4]); // 因为没有这个数组元素所以输出的结果是undefined
练习
定义一个数组,里面存放星期一、星期二…直到星期日(共7天),在控制台输出∶星期日
var date = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日'];
console.log(date[6]);
遍历数组
提问
var sum = 0;
var average = 0;
var arr = [1,2,3,4,5,6,7,8,9];
for (var i = 0; i < arr.length; i++) {
sum += arr[i];
}
average = sum / arr.length;
console.log(sum)
console.log(average);
var max = arr[0];
var arr = [1,2,3,4,5,6,7,8,9];
for (var i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i];
}
}
console.log('该数组里面的最大值是:'+ max);
var arr = ['red','pink','green','blue'];
var str = '';
var sep = '|'
for (var i = 0; i < arr.length; i++) {
str += arr[i] + sep;
}
console.log(str);
数组中新增元
// 新建一个数组,里面存放10个整数(1~10 )
var arr = [];
for (var i = 0; i < 10; i++) {
arr[i] = i + 1;
}
console.log(arr);
var arr2 = [2,0,6,1,77,0,52,0,25,7];
var arr3 = [];
var space = 0;
for (var i = 0; i < arr2.length; i++){
if (arr2[i] >= 10) {
arr3[space] = arr2[i];
space++;
}
}
console.log(arr3);
console.log(arr3.length);
数组案例
var arr2 = [2,0,6,1,77,0,52,0,25,7];
var arr3 = [];
for (var i = 0; i < arr2.length; i++){
if (arr2[i] != 0) {
arr3[arr3.length] = arr2[i];
}
}
console.log(arr3);
console.log(arr3.length);
// 数组反转
var arr2 = ['red','green','blue','pink','purple'];
var arr3 = [];
for (var i = arr2.length - 1; i >= 0; i--) {
arr3[arr3.length] = arr2[i];
}
console.log(arr3);
console.log(arr3.length);
var arr = [5,4,3,2,1];
var temp = 0;
for (var i = 0; i < arr.length-1; i++) {
for (var j = 0; j <= arr.length - i - 1; j++) {
if(arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr)