Javascript数组之创建

本文详细探讨了JavaScript数组的创建方式、特性及应用,包括单维数组、多维数组、字面量创建方法,以及如何高效利用数组的动态属性进行数据操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、初识数组

在程序语言中数组有多重要不需要我这个程序媛再复述了,JavaScript中数组也是最常使用的对象之一,数组是值的有序集合,由于弱类型的原因,JavaScript中数组十分灵活,不像Java等强类型高级语言数组只能存放同一类型或其子类型元素,JavaScript在同一个数组中可以存放多种类型的元素,而且是长度也是可以动态调整的,可以随着数据增加或减少自动对数组长度做更改。Javascript不支持多维数组,但是因为数组里面可以包含对象(数组也是一个对象),所以数组可以通过相互嵌套实现类似多维数组的功能。

用js有三四年了,但一直没有深究过js的数组形式。偶尔用用也就是简单的string.split(char)之类的。最近公司的一个项目,用到数组的地方很多,自以为js还可以的wo居然无从下手,霸气外露的狮女怎么可能允许自己手忙脚乱的狼狈模样?我就潜心下来会会它,呵呵。今天还是跟着思维导图走(这个概括的太很好!)。js数组的功能很强大,远比VB,C#强多了!下面就一点一点来看看这个“怪兽”(javascript数组)有多强大……

二、数组的创建

1.创建方式

在JavaScript多种方式创建数组

构造函数

1.空数组:无参构造函数,创建一空数组

var obj = new Array();

2.  指定长度数组:一个数字参数构造函数,指定数组长度(由于数组长度可以动态调整,作用并不大),创建指定长度的数组

var obj = new Array(size);
var obj = new Array(5); //size=5

3.指定元素数组:带有初始化数据的构造函数,创建数组并初始化参数数据

var obj = new Array(e1,e2,e3,……);
var a3=new Array(4,'hello',new Date()); //数组元素类型可以不一致

4.n维数组(n>=1)

   单维数组:var obj = {e1, e2, e3,…… ,en};

 

多维数组:var obj1 = {e1, e2, e3,…… ,en};

                     var obj2 = {e1, e2, e3,…… ,en};

                      ……

                     var obj = {obj1, obj2, …… ,objn};

字面量

1.使用方括号,创建空数组,等同于调用无参构造函数

var obj=[];   <=>   var obj = new Array();

2.使用中括号,并传入初始化数据,等同于调用调用带有初始化数据的构造函数

var obj=[10];  <=>   var obj = new Array(10);

注意点

1.在使用构造函数创建数组时如果传入一个数字参数,则会创建一个长度为参数的数组,如果传入多个,则创建一个数组,参数作为初始化数据加到数组中

var a1=new Array(5);
console.log(a1.length);//5
console.log(a1); //[] ,数组是空的
var a2=new Array(5,6);
console.log(a2.length);//2
console.log(a2); //[5,6]

2.但是使用字面量方式,无论传入几个参数,都会把参数当作初始化内容

var a1=[5];
console.log(a1.length);//1
console.log(a1); //[5]
var a2=[5,6];
console.log(a2.length);//2
console.log(a2); //[5,6]

3.使用带初始化参数的方式创建数组的时候,最好最后不要带多余的”,”,在不同的浏览器下对此处理方式不一样

var a1=[1,2,3,];
console.log(a1.length);
console.log(a1);

这段脚本在现代浏览器上运行结果和我们设想一样,长度是3,但是在低版本IE下确实长度为4的数组,最后一条数据是undefined

另外有一个需要再强调一下:

第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,这时长度会随之改变。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值