JavaScript 数组怎么定义
在做网页时,经常会遇到要存一组数据的情况,比如一个班级50个同学的名字,或者一周7天的气温,要是一个个单独存变量,不仅麻烦,后续处理也很费劲。这时候,JavaScript里的数组就能派上用场了,它就像一个“数据收纳盒”,能把同一类数据整整齐齐放进去。
最常用的定义方式:数组字面量
这是新手最容易上手的方法,就像用普通盒子装东西一样,直接在代码里用方括号[]把数据包起来,每个数据之间用逗号隔开就行。

举个例子,你想存自己喜欢的水果名,就可以这么写:
`javascript
const favoriteFruits = ["苹果", "香蕉", "草莓"];
`
这里的favoriteFruits就是一个数组,里面装了3个字符串类型的水果名。除了字符串,数组还能存数字,比如存一周的气温:
`javascript
const weekTemperatures = [22, 24, 19, 21, 23, 25, 20];
`
甚至同一个数组里能混放不同类型的数据,比如存一个人的信息:
`javascript
const personInfo = ["小明", 28, true];
`
这个数组里既有字符串(名字),又有数字(年龄),还有布尔值(是否成年),就像你出差时的行李箱,衣服、充电器、零食能一起放进去,灵活又方便。
用Array构造函数定义数组
这是另一种写法,就像你去商店买收纳盒,也可以直接买指定大小的空盒子。用new Array()的方式来创建数组,括号里可以根据需求传参数。
如果要创建一个空数组,和字面量的[]效果一样:
`javascript
const emptyArr = new Array();
`
如果想直接定义有内容的数组,就把数据放括号里,注意这种方式和字面量的写法很像,但有个小区别:如果只传一个数字参数,它不是数组的第一个元素,而是指定数组的长度。比如:
`javascript
// 这里不是创建长度为3的数组,而是包含3个元素:"苹果"、"香蕉"、"草莓"
const fruitArr1 = new Array("苹果", "香蕉", "草莓");
// 这里是创建一个长度为5的空数组,里面没有实际数据
const numArr = new Array(5);
`
这种写法用得不如字面量多,毕竟新手很容易搞错“单数字参数代表长度”这个坑,所以日常开发里,大部分人还是更习惯用数组字面量。
特殊情况:类数组对象转真正数组
有时候会遇到“假数组”,比如网页里用document.getElementsByTagName获取的元素集合,或者函数里的arguments参数,它们看着像数组,能取长度、按索引拿元素,但没法用数组的方法(比如添加元素push、删除元素pop),就像一个画出来的收纳盒,看起来能装东西,实际没法用。
这时候需要把它转成真正的数组,最简单的方法是用扩展运算符...:
`javascript
// 把假数组转成真数组
const realArr = [...fakeArrayLike];
`
或者用Array.from()方法,也能把类数组转成数组,就像把画出来的收纳盒改成能正常使用的真盒子,方便后续处理数据。
总的来说,JavaScript数组的定义方式不难,新手优先用数组字面量就够了,它简单好记,还不容易踩坑。只有遇到特殊情况,需要指定长度或者处理类数组时,再考虑其他写法,就能轻松搞定数据收纳的需求啦。