JS中的数组是一种重要的数据结构,它可以存储多个值并且允许我们对这些值进行访问、修改、添加、删除等操作。在这篇文章中,我们将深入探讨JS中关于数组的操作。
1. 创建一个数组
在JS中,可以使用以下几种方法来创建一个数组:
```js
// 方法一:使用数组字面量
var arr1 = []; // 创建一个空数组
var arr2 = [1, 2, 3]; // 创建一个包含三个元素的数组
// 方法二:使用Array()构造函数
var arr3 = new Array(); // 创建一个空数组
var arr4 = new Array(1, 2, 3); // 创建一个包含三个元素的数组
```
需要注意的是,使用Array()构造函数如果只传递一个参数,且这个参数是一个数字,则该参数会被视为数组的长度,而不是元素值。
```js
var arr5 = new Array(5); // 创建一个长度为5的数组,元素值都为undefined
```
2. 访问数组元素
在JS中,可以使用下标或者索引来访问数组元素。
```js
var arr = [1, 2, 3];
console.log(arr[0]); // 输出1,下标从0开始
console.log(arr[1]); // 输出2
console.log(arr[2]); // 输出3
```
如果尝试访问一个不存在的数组元素,会返回undefined。
```js
console.log(arr[3]); // 输出undefined
```
3. 修改数组元素
可以通过下标或索引来直接修改数组元素的值。
```js
var arr = [1, 2, 3];
arr[0] = 4;
console.log(arr[0]); // 输出4
```
4. 数组的长度
在JS中,可以使用length属性来获取数组的长度。该属性返回的是当前数组中元素的数量。
```js
var arr = [1, 2, 3];
console.log(arr.length); // 输出3
```
可以通过设置length属性来改变数组的长度。如果将length属性设置为一个小于当前数组长度的值,那么数组中包含的元素将从后往前依次删除。
```js
var arr = [1, 2, 3];
arr.length = 2;
console.log(arr); // 输出[1, 2]
```
如果将length属性设置为一个大于当前数组长度的值,那么数组中将会自动添加undefined值。
```js
var arr = [1, 2, 3];
arr.length = 5;
console.log(arr); // 输出[1, 2, 3, undefined, undefined]
```
5. 数组的遍历
可以使用循环来遍历数组中的元素。
```js
var arr = [1, 2, 3];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
```
在ES6中,还可以使用forEach()方法来遍历数组中的元素。
```js
var arr = [1, 2, 3];
arr.forEach(function(item) {
console.log(item);
});
```
6. 数组的添加和删除元素
可以使用push()方法向数组的末尾添加一个或多个元素。
```js
var arr = [1, 2, 3];
arr.push(4);
console.log(arr); // 输出[1, 2, 3, 4]
```
可以使用pop()方法从数组的末尾删除一个元素,并返回该元素的值。
```js
var arr = [1, 2, 3];
var last = arr.pop();
console.log(last); // 输出3
console.log(arr); // 输出[1, 2]
```
可以使用unshift()方法向数组的开头添加一个或多个元素。
```js
var arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // 输出[0, 1, 2, 3]
```
可以使用shift()方法从数组的开头删除一个元素,并返回该元素的值。
```js
var arr = [1, 2, 3];
var first = arr.shift();
console.log(first); // 输出1
console.log(arr); // 输出[2, 3]
```
7. 数组的合并和拷贝
可以使用concat()方法将两个或多个数组合并成一个新数组。
```js
var arr1 = [1, 2];
var arr2 = [3, 4];
var arr3 = arr1.concat(arr2);
console.log(arr3); // 输出[1, 2, 3, 4]
```
可以使用slice()方法从一个数组中获取一部分元素,该方法不会修改原数组,而是返回一个新数组。
```js
var arr = [1, 2, 3, 4];
var subArr = arr.slice(1, 3); // 获取下标为1到2的元素,不包括下标3
console.log(subArr); // 输出[2, 3]
console.log(arr); // 输出[1, 2, 3, 4]
```
可以使用splice()方法从一个数组中删除一部分元素,并可以在指定位置插入新的元素,该方法会修改原数组,并返回被删除的元素组成的一个新数组。
```js
var arr = [1, 2, 3, 4];
var spliced = arr.splice(1, 2, 5, 6); // 删除下标为1和2的元素,插入两个新元素
console.log(arr); // 输出[1, 5, 6, 4]
console.log(spliced); // 输出[2, 3]
```
可以使用slice()方法进行浅拷贝,将一个数组复制一份并返回一个新数组。
```js
var arr1 = [1, 2, 3];
var arr2 = arr1.slice();
arr2[0] = 4;
console.log(arr1); // 输出[1, 2, 3]
console.log(arr2); // 输出[4, 2, 3]
```
需要注意的是,slice()方法进行的是浅拷贝,即如果原数组中的某个元素是对象或数组,则拷贝得到的新数组中该元素与原数组中该元素指向的是同一个对象或数组。如果要进行深拷贝,需要使用其他方法。
综上所述,JS中关于数组的操作包括创建数组、访问数组元素、修改数组元素、获取数组的长度、遍历数组、向数组添加或删除元素、合并和拷贝数组等。掌握这些操作可以让我们更加便捷地处理数组,提高编程效率。
购买后如果没出现相关链接,请刷新当前页面!!!
链接失效的请留言 ,我看见了就补上!!!
网站内容来源于互联网,我们将这些信息转载出来的初衷在于分享与学习,这并不意味着我们站点对这些信息的观点或真实性作出认可,我们也不承担对这些信息的责任。
适度游戏益脑,沉迷游戏伤身。 合理安排时间,享受健康生活。适龄提示:适合18岁以上使用!
发表评论 取消回复