JavaScript的数组
JavaScript中的数组是一种强大而灵活的数据结构,用于存储和操作一组值。本文将介绍如何创建和访问数组,以及JavaScript数组常用的方法,如push、pop、shift、unshift和slice等。
创建和访问数组
- 在JavaScript中,可以使用以下方式创建一个数组:
js
// 使用字面量方式创建数组
let fruits = ['apple', 'banana', 'orange'];
// 使用Array构造函数创建数组
let numbers = new Array(1, 2, 3, 4, 5);
- 数组中的元素可以通过索引进行访问,索引从0开始:
js
console.log(fruits[0]); // 输出:'apple'
console.log(numbers[2]); // 输出:3
push和pop方法
- push方法用于向数组末尾添加一个或多个元素:
js
fruits.push('grape');
console.log(fruits); // 输出:['apple', 'banana', 'orange', 'grape']
- pop方法用于删除并返回数组的最后一个元素:
js
let lastFruit = fruits.pop();
console.log(lastFruit); // 输出:'grape'
console.log(fruits); // 输出:['apple', 'banana', 'orange']
shift和unshift方法
- shift方法用于删除并返回数组的第一个元素:
js
let firstFruit = fruits.shift();
console.log(firstFruit); // 输出:'apple'
console.log(fruits); // 输出:['banana', 'orange']
- unshift方法用于向数组的开头添加一个或多个元素:
js
fruits.unshift('kiwi', 'mango');
console.log(fruits); // 输出:['kiwi', 'mango', 'banana', 'orange']
slice方法
slice方法用于从数组中提取出指定范围的元素,返回一个新数组,不会修改原数组:
js
let citrusFruits = fruits.slice(1, 3);
console.log(citrusFruits); // 输出:['mango', 'banana']
console.log(fruits); // 输出:['kiwi', 'mango', 'banana', 'orange']
其他数组方法
- concat:用于合并两个或多个数组。
- indexOf和lastIndexOf:用于查找指定元素在数组中的索引。
- join:将数组中的所有元素连接成一个字符串。
- reverse:反转数组中的元素顺序。
- sort:对数组进行排序。
- forEach、map、filter、reduce等高阶函数:用于对数组进行迭代和处理。
js
const array1 = [1, 2, 3];
const array2 = [4, 5, 6];
const newArray = array1.concat(array2);
console.log(newArray); // Output: [1, 2, 3, 4, 5, 6]
const array = [1, 2, 3, 4, 5, 4];
console.log(array.indexOf(4)); // Output: 3
console.log(array.lastIndexOf(4)); // Output: 5
const array = ['Hello', 'World', '!'];
const result = array.join(' ');
console.log(result); // Output: "Hello World !"
const array = [1, 2, 3, 4, 5];
array.reverse();
console.log(array); // Output: [5, 4, 3, 2, 1]
const array = [3, 1, 4, 2, 5];
array.sort();
console.log(array); // Output: [1, 2, 3, 4, 5]
const array = [1, 2, 3, 4, 5];
array.forEach((element) => {
console.log(element);
});
// Output:
// 1
// 2
// 3
// 4
// 5
const array = [1, 2, 3, 4, 5];
const newArray = array.map((element) => {
return element * 2;
});
console.log(newArray); // Output: [2, 4, 6, 8, 10]
const array = [1, 2, 3, 4, 5];
const newArray = array.filter((element) => {
return element % 2 === 0;
});
console.log(newArray); // Output: [2, 4]
const array = [1, 2, 3, 4, 5];
const sum = array.reduce((accumulator, currentValue) => {
return accumulator + currentValue;
}, 0);
console.log(sum); // Output: 15