JS基础 4 数组 + Time

一、数组

数组是指一组数据有序的集合,其中的每个数据被称作元素,在数组中可以存放任意类型的元素


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);
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值