一、数组
数组是指一组数据有序的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素
1.1 创建数组
- 利用
new
创建数组
注意Array ()
,A 要大写
var 数组名 = new Array();
- 利用数组字面量创建数组
//1. 使用数组字面量方式创建空的数组
var 数组名 = [];
//2. 使用数组字面量方式创建带初始值的数组
var 数组名 = ['小白','小黑','大黄','瑞奇'];
1.2 获取数组中的元素
索引 (下标) :用来访问数组元素的序号(数组下标从 0 开始)
// 定义数组
var arrStus = [1,2,3];
// 获取数组中的第2个元素
alert(arrStus[1]);
注意:如果访问时数组没有和索引值对应的元素,则得到的值是undefined
1.3 遍历数组
数组遍历: 把数组中的每个元素从头到尾都访问一次,可以通过 for 循环索引遍历数组中的每一项
var arr = ['red', 'green', 'blue'];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
数组的长度: 使用数组名.length
可以访问数组元素的数量(数组长度)
// 求数组里面所有元素的和以及品均值
var arr = [2, 6, 1, 7, 4];
var sum = 0;
var average = 0;
for (var i = 0; i < arr.length; i++) {
sum += arr[i]; // 我们加的是数组元素 arr[i] 不是计数器 i
}
average = sum / arr.length;
console.log(sum, average); // 输出多个变量用逗号分隔
// 求数组中最大值
var arr = [2, 6, 1, 77, 52, 25, 7];
var max = arr[0]; // 赋值数组中的第一个值
for (var i = 1; i < arr.length; i++) {
if (arr[i] > max) {
max = arr[i]; // 如果值大于max则取代上一个max
}
}
console.log('最大值是' + max);
注意:
-
此处数组的长度是数组元素的个数 ,不要和数组的索引号混淆。
-
当我们数组里面的元素个数发生了变化,这个 length 属性跟着一起变化
数组的length属性可以被修改:
-
如果设置的length属性值大于数组的元素个数,则会在数组末尾出现空白元素;
-
如果设置的length属性值小于数组的元素个数,则会把超过该值的数组元素删除
1.4 数组中新增元素
- 通过修改
length
长度新增数组元素
var arr = ['red', 'green', 'blue'];
console.log(arr.length);
arr.length = 5; // 把数组长度修改成了5
console.log(arr);
console.log(arr[3]); // undefined
console.log(arr[4]); // undefined
- 通过修改数组索引新增数组元素,相当于追加
var arr = ['red', 'green', 'blue'];
arr[3] = 'pink'; // 追加一个
console.log(arr);
arr[0] = 'yellow'; // 如果已经有了元素则是替换
console.log(arr);
arr = '鲸渔';
console.log(arr); // 直接给数组赋值就只有替换的值
- 数组存放 1-10
var arr = [];
for (var i = 0; i < 10; i++) {
arr[i] = i + 1;
}
console.log(arr);
🐋鲸渔Time🐱👤
- 筛选数组
// 方法一
var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
var newArr = [];
var j = 0;
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= 10) {
newArr[j] = arr[i];
j++;
}
}
console.log(newArr);
// 方法二
var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
var newArr = [];
// 刚开始 newArr.length 就是 0
for (var i = 0; i < arr.length; i++) {
if (arr[i] >= 10) {
// 新数组索引号应该从0开始 依次递增
newArr[newArr.length] = arr[i];
}
}
console.log(newArr);
- 冒泡排序
var arr = [3, 5, 2, 1, 4];
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]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);