Skip to content

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

CSDN博主 大宝贱 的个人博客