数组通常被描述为“像列表一样的对象”,是一个包含了多个值的对象。
数组中的每个数据项称为元素,每个元素在数组中的位置由索引决定,索引从 0 开始。
如何创建数组?
数组由方括号构成,其中包含用逗号分隔的元素列表。
创建数组的方法有很多种,下面是几种常见的方式:
- 使用数组字面量: 
let fruits = ['Apple', 'Banana', 'Orange']; 
- 使用 - Array构造函数:
 
let fruits = new Array('Apple', 'Banana', 'Orange'); 
- 创建一个空数组,然后逐个添加元素: 
let fruits = []; fruits = 'Apple'; fruits = 'Banana'; fruits = 'Orange'; 
任何类型的元素都可以存储在数组中。
比如,字符串,数字,对象,另一个变量,甚至另一个数组。
你也可以混合和匹配项目类型,它们并不都是数字,字符串等。
比如下面这个例子。
let sequence = [1, 1, 2, 3, 5, 8, 13]; let random = ["Apple", 795, [0, 1, 2]]; 
访问数组
可以使用括号表示法访问数组中的元素。
- 可以输出某一个数组元素。 
let fruits = ['Apple', 'Banana', 'Orange'];  console.log(fruite[0]); //输出 Apple 
- 可以修改某一个数组元素。 
let fruits = ['Apple', 'Banana', 'Orange'];  fruite[0] = 'Grape'; console.log(fruite[0]); //输出 Grape 
要记住,数组的索引是从 0 开始的,所以第一个元素的访问,下标是 0。
数组的长度
通过使用 length 属性获取数组的长度,也就是数组中有多少个元素。
let fruits = ['Apple', 'Banana', 'Orange'];  console.log(fruite.length); //输出 3 
length 属性最常用于循环。
let fruits = ['Apple', 'Banana', 'Orange'];  for (let i = 0; i < fruits.length; i++) {   console.log(fruits[i]); } 
使用 for 循环,依次输出数组里的每一个元素。
操作数组的方法
数组提供了很多方法来操作其中的元素,来看一些常用的方法:
- push()和- pop()
 
push() 方法用于在数组末尾添加一个或多个元素,pop() 方法用于移除数组末尾的一个元素。
let fruits = ['Apple', 'Banana']; fruits.push('Orange'); // ['Apple', 'Banana', 'Orange'] let lastFruit = fruits.pop(); // ['Apple', 'Banana'], lastFruit = 'Orange' 
- shift()和- unshift()
 
shift() 方法用于移除数组开头的一个元素,unshift() 方法用于在数组开头添加一个或多个元素。
let fruits = ['Apple', 'Banana']; let firstFruit = fruits.shift(); // ['Banana'], firstFruit = 'Apple' fruits.unshift('Orange'); // ['Orange', 'Banana'] 
- concat()
 
concat() 方法用于合并两个或多个数组,不会改变现有数组,而是返回一个新数组。
let fruits = ['Apple', 'Banana']; let moreFruits = ['Orange', 'Grape']; let allFruits = fruits.concat(moreFruits); // ['Apple', 'Banana', 'Orange', 'Grape'] 
- slice()
 
slice() 方法用于从数组中提取一个片段,返回一个新数组,不会改变原数组。
let fruits = ['Apple', 'Banana', 'Orange', 'Grape']; let citrus = fruits.slice(1, 3); // ['Banana', 'Orange'] 
- splice()
 
splice() 方法用于添加或删除数组中的元素,会改变原数组。
let fruits = ['Apple', 'Banana', 'Orange']; fruits.splice(1, 1, 'Grape'); // ['Apple', 'Grape', 'Orange'] 
- forEach()
 
forEach() 方法用于遍历数组中的每个元素。
let fruits = ['Apple', 'Banana', 'Orange']; fruits.forEach(function (fruit) {   console.log(fruit); }); // 输出: // Apple // Banana // Orange 
- map()
 
map() 方法用于创建一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
let numbers = [1, 2, 3, 4]; let doubled = numbers.map(function (number) {   return number * 2; }); // [2, 4, 6, 8] 
- filter()
 
filter() 方法用于创建一个新数组,包含所有通过测试的元素。
let numbers = [1, 2, 3, 4]; let evenNumbers = numbers.filter(function (number) {   return number % 2 === 0; }); // [2, 4] 
- reduce()
 
reduce() 方法用于将数组中的所有元素计算为一个值。
let numbers = [1, 2, 3, 4]; let sum = numbers.reduce(function (total, number) {   return total + number; }, 0); // 10 
总结
该文章在 2024/10/22 12:40:14 编辑过