返回

数组操作揭秘:助力程序员高效开发

前端

数组操作指南:掌握 JavaScript 数组的奥秘

数组是 JavaScript 中的一项至关重要的数据结构,它们比字符串更强大,在算法题中经常需要将字符串转换为数组以使用其强大的 API。本文将深入探讨 JavaScript 数组的常用方法,涵盖实例方法和静态方法,帮助您充分利用数组的潜力。

常用的 Array 实例方法

1. Array.isArray():

  • 判断一个变量是否为数组。
  • 代码示例:
const arr = [1, 2, 3];
console.log(Array.isArray(arr)); // true
console.log(Array.isArray({})); // false

2. Array.from():

  • 将一个类数组对象转换为真正的数组。
  • 代码示例:
const arr = Array.from('hello');
console.log(arr); // ['h', 'e', 'l', 'l', 'o']

3. Array.of():

  • 创建一个包含指定元素的新数组。
  • 代码示例:
const arr = Array.of(1, 2, 3);
console.log(arr); // [1, 2, 3]

4. Array.concat():

  • 将一个或多个数组连接到当前数组。
  • 代码示例:
const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = arr1.concat(arr2);
console.log(arr3); // [1, 2, 3, 4, 5, 6]

5. Array.copyWithin():

  • 将数组中的一部分复制到另一个位置。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
arr.copyWithin(2, 0);
console.log(arr); // [1, 2, 1, 2, 3]

6. Array.entries():

  • 返回数组中键/值对的迭代器。
  • 代码示例:
const arr = [1, 2, 3];
for (const [key, value] of arr.entries()) {
  console.log(`Key: ${key}, Value: ${value}`);
}

7. Array.every():

  • 测试数组中的所有元素是否都满足某个条件。
  • 代码示例:
const arr = [1, 2, 3];
const result = arr.every((value) => value > 0);
console.log(result); // true

8. Array.fill():

  • 用一个给定值填充数组。
  • 代码示例:
const arr = [1, 2, 3];
arr.fill(0);
console.log(arr); // [0, 0, 0]

9. Array.filter():

  • 创建一个包含通过指定条件的元素的新数组。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.filter((value) => value % 2 === 0);
console.log(result); // [2, 4]

10. Array.find():

  • 返回数组中第一个满足指定条件的元素。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.find((value) => value === 3);
console.log(result); // 3

11. Array.findIndex():

  • 返回数组中第一个满足指定条件的元素的索引。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.findIndex((value) => value === 3);
console.log(result); // 2

12. Array.forEach():

  • 对数组中的每个元素执行一个指定函数。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
arr.forEach((value) => console.log(value));

13. Array.includes():

  • 检查数组中是否包含某个元素。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
console.log(arr.includes(3)); // true
console.log(arr.includes(6)); // false

14. Array.indexOf():

  • 返回数组中某个元素的索引。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
console.log(arr.indexOf(3)); // 2
console.log(arr.indexOf(6)); // -1

15. Array.join():

  • 将数组中的元素连接成一个字符串。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.join('-');
console.log(result); // '1-2-3-4-5'

16. Array.keys():

  • 返回数组中键的迭代器。
  • 代码示例:
const arr = [1, 2, 3];
for (const key of arr.keys()) {
  console.log(key);
}

17. Array.lastIndexOf():

  • 返回数组中某个元素的最后一个索引。
  • 代码示例:
const arr = [1, 2, 3, 4, 5, 3];
console.log(arr.lastIndexOf(3)); // 5

18. Array.map():

  • 创建一个包含对数组中每个元素应用指定函数后的新数组。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.map((value) => value * 2);
console.log(result); // [2, 4, 6, 8, 10]

19. Array.pop():

  • 从数组中删除最后一个元素并返回它。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.pop();
console.log(result); // 5
console.log(arr); // [1, 2, 3, 4]

20. Array.push():

  • 将一个或多个元素添加到数组的末尾并返回新数组的长度。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
arr.push(6, 7);
console.log(arr); // [1, 2, 3, 4, 5, 6, 7]

21. Array.reduce():

  • 将数组中的元素累积到一个单一的值。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(result); // 15

22. Array.reduceRight():

  • 将数组中的元素从右到左累积到一个单一的值。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.reduceRight((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(result); // 15

23. Array.reverse():

  • 反转数组中元素的顺序并返回它。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.reverse();
console.log(result); // [5, 4, 3, 2, 1]

24. Array.shift():

  • 从数组中删除第一个元素并返回它。
  • 代码示例:
const arr = [1, 2, 3, 4, 5];
const result = arr.shift();
console.log(result); // 1
console.log(arr); // [2, 3, 4, 5]

25. Array.slice():

  • 从数组中提取一个子数组并返回它。
  • 代码示例:
const arr