JavaScript中的数组知识

数组(Array)

1.什么是数组?

数组也是一个对象,数组就是一组数据的集合。

不同的是普通对象是使用字符串作为属性名的。

而数组是使用数字来作为索引操作元素。 索引:从0开始的整数

其表现形式就是内存中的一段连续的内存地址

数组名称其实就是连续内存地址的首地址

如图1所示:
在这里插入图片描述

2、关于JS中的数组特点

数组定义时无需指定数据类型

数组定义时可以无需指定数组长度

数组可以存储任何数据类型的数据(比如说一个元素保存整型,一个元素保存字符串型,这个在JS中是可以的)

创建数组的语法:

向数组中添加元素
语法:数组[索引]=值;

读取数组中的元素
语法:数组【索引】
如果读取不存在的索引,则返回undefined

var arr=[值1,值2,值3]; //隐式创建(使用字面量来创建数组)

		var arr=[1,2,3,4,5,6];
		console.log(arr[2]);  //返回值为3
		console.log(arr[6]);   //则返回undefined
		console.log(typeof arr);  //返回Object

var arr=new Array(值1,值2,值3); //直接实例化

		var arr = new Array(1,2,3,4,5,6);
		console.log(arr[1]);   //返回值为2
		console.log(typeof arr);  //返回Object

var array=new Array(size); //创建数组并指定长度

		var arr=new Array(5);      //定义一个数组的长度为5
		arr[0]=11;
		arr[1]=22;
		arr[2]=33;
		arr[3]=44;
		arr[4]=55;
		console.log(arr[3]);   //返回值为44

注意一下这两个的区别:

	var a = new Array(5); //指创建长度为5的数组
	var a = new Array([5]); //指创建一个数组,长度为1,并且第一位是5

数组中的元素可以是任意的数据类型

		var arr2=["hello",1,true];
		console.log(arr2[2]);  //返回true

数组中的元素也可以是对象

		var arr=[1,2,3,4,5,6];
		var obj={name:"孙悟空"};
		arr[arr.length]=obj;
		console.log(arr[6].name);  //返回孙悟空

当然也可以是函数,其实上面就说了可以是任意的数据类型,但是比较特殊就举例一下。

		var arr=[function(){alert(1)},function(){alert(2)}]
		arr[0](); 

JS中符号含义:

()表示函数执行

[]表示语法模拟,表示模拟Array类的实例(=new Array())

{}表示语法模拟,表示模拟Object类的实例(=new Object())

3.获取数组的长度

可以使用length属性来获取数组的长度(数组的个数)

语法:数组.length

对于连续的数组,使用length可以获取到数组的长度。

对于非连续的数组,使用length会获取到数组的最大索引+1。

		var arr=new Array();
		arr[0]=11;
		arr[1]=22;
		arr[2]=33;
		arr[99]=99;
		console.log (arr.length); //会显示数组的长度为100

如果修改的length大于原长度,则多出来的部分会空出来;

	var arr=new Array();
	arr[0]=1;
	arr[1]=2;
	arr[2]=3;
	arr[3]=4;
	arr.length=10;
	console.log(arr);    //会显示1,2,3,4, , , , , , , , 

如果修改的length小于原长度,则多出来的元素会被删除.

	var arr=new Array();
	arr[0]=1;
	arr[1]=2;
	arr[2]=3;
	arr[3]=4;
	arr.length=3;
	console.log(arr[]);   //只会显示1,2,3

向数组的最后一个位置添加元素 ,我们可以
语法:数组[数组.length]=值;

		var arr=new Array();
		arr[0]=11;
		arr[arr.length]=22;
		arr[arr.length]=33;
		console.log(arr);   //11,22,33
  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值