数组通常被描述为“像列表一样的对象”,是一个包含了多个值的对象。
数组中的每个数据项称为元素,每个元素在数组中的位置由索引决定,索引从 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 编辑过