学习笔记--JavaScript--Day03

JS基础知识–数组

1.数组

1.Array 数组是一个有序的元素序列,数组中的元素会自动分配下标,
  从0开始,方便读写
2.创建数组
	1.创建空数组
		var 数组名 = [];
	2.创建数组的同时初始化元素
		var 数组名 = [元素1, 元素2, 元素3, ...];
	3.创建空数组
		var 数组名 = new Array();
	4.创建数组并初始化
		var 数组名 = new Array(元素1, 元素2, 元素3, ...);
		注意:
			var 数组名 = new Array(Num);
			  	只包含一个数值参数时,表示初始化数组的长度
3.数组的使用
	1.获取数组的长度
		属性:length
		使用:数组名.length;
	2.访问数组元素
		数组中的每一个元素都有对应的下标
		元素的下标范围: 0 ~ 数组名.length - 1
		语法: 数组名[下标];
	3.设置数组元素
		数组名[下标] = value;
4.清空数组中的元素
	arr.length = 0;
5.循环遍历数组
	正序:
	for(var i = 0; i < arr.length-1; i++){
		arr[i];
	}
	倒序:
	for(var i = arr.length-1; i >= 0; i--){
		arr[i];
	})

2.数组中的API

1. toString()
	将数组中的元素转换为字符串返回,返回值为字符串
	et:
		var arr = [10,20,30];
		console.log(arr.toString()); #返回值为 "10,20,30"
2. join()
	将数组中的元素连接成一个字符串并返回,返回值字符串
	参数:可选,如果省略参数,默认元素之间以,作为分隔符
		可以给参数,指定元素之间的连接符
	et:
		var arr = [10,20,30];
		console.log(arr.join()); #返回值为 "10,20,30"
		console.log(arr.join("-")); #返回值为 "10-20-30"
3. reverse()
	反转数组元素
	返回值:数组,会改变数组的原有结构
4. sort()
	对数组中元素进行排序,返回值为数组,会改变数组原有结构
	参数:可选,自定义排序函数,默认按照元素的Unicode码升序排序
	1.升序的排列函数
		function sortAsc(a,b){
			return a-b;
		}
		arr.sort(sortAsc);
		解释:
			1.sortAsc函数接收两个参数,会自动将数组中相邻的
			  两个元素传递给参数
			2.如果返回值>0,交换两个元素的位置,否则不变。
	2.降序
		function sortDec(a,b){
				return b-a;
			}
			arr.sort(sortDec);
	注意:
		非数字字符串是没有办法做减法操作的,可以通过大小的比较
	3.匿名函数作为排序函数,直接写在sort()中
		arr.sort(function (a,b){ return a-b;})

3.数组的进出栈操作

栈结构:遵循先进后出原则
栈操作可以快速操作数组中的头尾元素
1. push(data)
	入栈操作,向数组中的尾部添加元素,可以是一个或多个,
	多个数据之间使用,隔开
	返回值:返回新数组的长度
2. pop()
	出栈操作,删除数组尾部元素
	返回值:返回被删除的元素
3. unshift(data)
	向数组中的头部添加一个或多个元素,返回数组的长度。
4. shift()
	删除数组中头部元素,返回被删除的元素

4.二维数组

数组中每个元素又是一个数组。用法同一维数组。

5.练习:

随意录入一个数字,将数字转换为二进制输出
思路:除二取余,倒序输出
function decode2Bin(){
	var num = Number(prompt("请输入一个数字"));
	var arr = [];
	while(num != 0){
		arr[arr.length] = num % 2;
		num = parseInt(num / 2);
	}
	//显示二进制数
	arr.reverse();
	console.log(arr);
}
上一篇:day03循环语句


下一篇:Java基础Day03