JavaScript中的数组

本文介绍了JavaScript中数组的两种定义方法:使用Array构造函数和数组字面量表示法,并讨论了这两种方法的区别以及注意事项。此外,还介绍了如何通过索引进行数组元素的设置和增加。

JavaScript中,数组的定义有两种方法,第一种是使用Array构造函数,第二种是使用数组字面量表示法。

一、Array构造函数:

var colors = new Array("white" ,"blue" ,"green");//创建一个包含三个字符串值的数组
console.log(colors);

结果如下:


注意:使用Array的时候可以省略new字符:

var colors = Array("white" ,"blue" ,"green");
console.log(colors);
结果不变:


二、数组字面量表示法:

var color = ["white" ,"blue" , "green"];
console.log(color);

结果和Array构造方法是一样的。

注意:使用数组字面量表示法在某些情况下是有问题的:

var color = ["red" ,"blue" ,"green" ];
var names = [];
var values = [1 ,2 ,];
var options = [,,,,,];

在IE8及之前的版本中,values会成为一个含3项,每项的值分别为1,2和undefined的数组;在其他浏览器中,values会成为一个包含2项,每项值分别为1,2的数组。原因是IE8及之前版本的ECMAScript实现在数组字面量方面存在BUG,这种BUG另外一种情况会导致例子中的options创建包含5项的数组(在Chrome,Opera,Safari,Firefox中),也可能会创建一个包含6项的数组(在IE8及更早版本中)。这个结果与Array构造函数时传递在逻辑上是相同的。但是由于IE8与其它浏览器不一致,因此最好不要使用这种方法。

三、数组的设置和增加

JavaScript中,数组的设置和增加表示方式是相同的,即:

var color = ["white" ,"blue" , "green"];
console.log(color[2]);
color[2] = "red";//修改一个数组中的值
console.log(color[2]);
color[4] = "yellow";//增加一个数组的值
console.log(color);

结果如下:


当修改项数小于数组中的项数,修改对应项的值,否则,则会增加一个对应项,数组长度也会增加到该修改项数加一的值。




### JavaScript 数组常用方法及数据操作知识点 在 JavaScript 中,数组是一种非常重要的数据结构,用于存储和操作一组有序的数据。以下是一些与数组相关的常用方法及其功能说明: #### 1. 添加元素 - **push()** 方法用于向数组的末尾添加一个或多个元素,并返回新数组的长度[^1]。 ```javascript let arr = [1, 2, 3]; arr.push(4); // arr 变为 [1, 2, 3, 4] ``` - **unshift()** 方法用于向数组的开头添加一个或多个元素,并返回新数组的长度。 ```javascript let arr = [1, 2, 3]; arr.unshift(0); // arr 变为 [0, 1, 2, 3] ``` #### 2. 删除元素 - **pop()** 方法用于删除数组的最后一个元素,并返回被删除的元素。 ```javascript let arr = [1, 2, 3]; arr.pop(); // arr 变为 [1, 2] ``` - **shift()** 方法用于删除数组的第一个元素,并返回被删除的元素。 ```javascript let arr = [1, 2, 3]; arr.shift(); // arr 变为 [2, 3] ``` - **splice()** 方法用于从数组中删除、替换或添加元素[^5]。 ```javascript let arr = [1, 2, 3, 4, 5]; arr.splice(1, 2); // arr 变为 [1, 4, 5] ``` #### 3. 合并数组 - **concat()** 方法用于将两个或多个数组合并为一个新数组,原数组不会被修改[^2]。 ```javascript let a = [1, 2]; let b = [3, 4]; let c = a.concat(b); // c 为 [1, 2, 3, 4] ``` #### 4. 遍历数组 - **forEach()** 方法用于对数组的每个元素执行一次提供的函数。 ```javascript let arr = [1, 2, 3]; arr.forEach(function(item) { console.log(item); // 输出 1, 2, 3 }); ``` - **map()** 方法用于创建一个新数组,其结果是对调用数组中的每个元素执行回调函数后的值[^4]。 ```javascript let arr = [1, 2, 3]; let newArr = arr.map(function(item) { return item * 2; }); // newArr 为 [2, 4, 6] ``` #### 5. 筛选数组 - **filter()** 方法用于创建一个新数组,包含通过所提供函数实现的测试的所有元素[^5]。 ```javascript let arr = [1, 2, 3, 4]; let newArr = arr.filter(function(item) { return item > 2; }); // newArr 为 [3, 4] ``` #### 6. 查找元素 - **find()** 方法用于返回数组中满足提供的测试函数的第一个元素的值。 ```javascript let arr = [1, 2, 3, 4]; let result = arr.find(function(item) { return item > 2; }); // result 为 3 ``` - **indexOf()** 方法用于返回数组中某个指定元素的第一个索引,如果不存在则返回 -1。 ```javascript let arr = [1, 2, 3]; let index = arr.indexOf(2); // index 为 1 ``` #### 7. 排序与反转 - **sort()** 方法用于对数组的元素进行排序[^3]。 ```javascript let arr = [3, 1, 2]; arr.sort(); // arr 变为 [1, 2, 3] ``` - **reverse()** 方法用于颠倒数组中元素的顺序。 ```javascript let arr = [1, 2, 3]; arr.reverse(); // arr 变为 [3, 2, 1] ``` #### 8. 其他方法 - **join()** 方法用于将数组的所有元素连接成一个字符串,并返回这个字符串。 ```javascript let arr = [1, 2, 3]; let str = arr.join(","); // str 为 "1,2,3" ``` - **slice()** 方法用于返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝。 ```javascript let arr = [1, 2, 3, 4]; let newArr = arr.slice(1, 3); // newArr 为 [2, 3] ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

稷下学员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值