20个常见的JavaScript数组操作总结

yizhihongxing

20个常用的JavaScript数组操作总结

JavaScript数组是一种包持有有序数据的变量类型,提供了许多方便的方法,可以对数组进行各种操作。下面的这20个数组操作是在编写JavaScript时几乎无法避免的,熟练掌握这些操作可以让你高效地使用数组。

1. 创建数组

创建一个JavaScript数组最简单的方法就是使用方括号([])来包含一个或多个元素,元素之间用逗号分隔。例如,以下代码将创建一个包含数字1到5的数组:

const myArray = [1, 2, 3, 4, 5];

2. 访问元素

可以使用方括号加上索引值的方式来访问数组中的元素。索引是从0开始的整数,即第一个元素的索引是0,第二个元素的索引是1,以此类推。例如,以下代码将访问上一节所创建的数组中的第一个元素:

const firstElement = myArray[0]; // 1

3. 添加元素

可以使用push()方法将一个或多个元素添加到数组的末尾。例如,以下代码将向数组中添加一个元素:

myArray.push(6);

4. 删除元素

可以使用pop()方法从数组末尾移除一个元素。例如,以下代码将从数组中移除最后一个元素:

myArray.pop();

5. 长度

可以使用length属性获取数组的长度。例如,以下代码将获取数组的长度并将其存储在一个变量中:

const arrayLength = myArray.length;

6. 迭代

可以使用for循环或foreach()方法对数组进行迭代。例如,以下代码使用for循环迭代数组中的所有元素:

for (let i = 0; i < myArray.length; i++) {
    const element = myArray[i];
    // 在此处理每个元素
}

以下是使用foreach()方法迭代数组的示例,该方法通过传递一个回调函数来处理数组中的每个元素:

myArray.forEach(function(element) {
    // 在此处理每个元素
});

7. 搜索数组元素

可以使用indexOf()方法搜索数组元素的索引。例如,以下代码将搜索数组中数字3的索引:

const index = myArray.indexOf(3);

8. 数组切片

可以使用slice()方法从数组中获取一个子数组。例如,以下代码将从数组中获取第二个和第三个元素:

const subArray = myArray.slice(1, 3); // [2, 3]

9. 连接数组

可以使用concat()方法连接两个或多个数组。例如,以下代码将连接两个数组:

const newArray = myArray.concat([6, 7, 8]);

10. 反转数组

可以使用reverse()方法反转数组的顺序。例如,以下代码将反转数组的顺序:

myArray.reverse();

11. 排序

可以使用sort()方法对数组进行排序。例如,以下代码将按升序对数组进行排序:

myArray.sort((a, b) => a - b);

12. 过滤

可以使用filter()方法过滤数组。例如,以下代码将返回一个新数组,其中只包含奇数:

const oddNumbers = myArray.filter(number => number % 2 !== 0);

13. 映射

可以使用map()方法将一个数组映射到另一个数组。例如,以下代码将将旧数组中的所有元素加倍并将其存储在新数组中:

const doubledArray = myArray.map(number => number * 2);

14. 缩减

可以使用reduce()方法将数组减少为单个值。例如,以下代码将计算数组中所有元素的总和:

const sum = myArray.reduce((accumulator, currentValue) => accumulator + currentValue);

15. 拆分

可以使用join()方法将数组拆分为字符串。例如,以下代码将使用逗号将数组拆分为一个字符串:

const myString = myArray.join(",");

16. 遍历

可以使用遍历器iterator遍历数组。例如:

const myArray = [1, 2, 3];

const iterator = myArray.values();

for (const value of iterator) {
    console.log(value);
}

17. 随机化数组

可以使用Fisher-Yates洗牌算法随机化数组。例如:

function shuffleArray(array) {
    for (let i = array.length - 1; i > 0; i--) {
        const j = Math.floor(Math.random() * (i + 1));
        [array[i], array[j]] = [array[j], array[i]];
    }
}

shuffleArray(myArray);

18. 数组去重

可以使用Set对象去重数组。例如:

const uniqueArray = Array.from(new Set(myArray));

19. 数组判空

可以判断数组是否为空。例如:

const isEmpty = myArray.length === 0;

20. 数组扁平化

可以使用flat()方法将多维数组展平为单个数组。例如,以下代码将从嵌套数组中创建一个单个数组:

const nestedArray = [1, [2, [3, [4]]]];
const flatArray = nestedArray.flat(Infinity); // [1, 2, 3, 4]

以上是20个常见的JavaScript数组操作,掌握这些操作可以让你更好地使用JavaScript数组。

示例说明

示例 1: 使用map()方法将一个数组映射到另一个数组

假设我们有一个包含名称和年龄的对象数组,我们想要创建一个仅包含名称的新数组。很容易使用map()方法实现这个功能:

const people = [
    { name: "Alice", age: 25 },
    { name: "Bob", age: 30 },
    { name: "Charlie", age: 35 }
];

const names = people.map(person => person.name);

console.log(names);
// 输出: ["Alice", "Bob", "Charlie"]

示例 2: 随机化数组

假设我们有一个数字数组,我们想要随机化这个数组的元素顺序。这可以通过使用Fisher-Yates shuffling算法来实现:

function shuffleArray(array) {
    for (let i = array.length - 1; i > 0; i--) {
        const j = Math.floor(Math.random() * (i + 1));
        [array[i], array[j]] = [array[j], array[i]];
    }
}

const numbers = [1, 2, 3, 4, 5];
shuffleArray(numbers);

console.log(numbers);
// 输出: 随机排序的数组

以上两个示例展示了如何使用一些不同的JavaScript数组操作来完成不同的任务。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:20个常见的JavaScript数组操作总结 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 基于dataset的使用和图片延时加载的实现方法

    为了给你更全面的介绍,我将分为两部分来解答你的问题。 基于 dataset 的使用 dataset是HTML5中新增的一个属性,用于为元素存储自定义数据。它可以为我们提供一种方便快捷的方式来访问元素存储的数据,而不需要通过其他的方式来操作元素的属性。 增加数据 <body> <div data-name="zhangsan&quo…

    JavaScript 2023年6月10日
    00
  • Javascript倒计时代码

    JavaScript 倒计时能够给网站或者应用程序带来极佳的用户体验,它通常用于页面的时间限制、登录等场景。下面是 JavaScript 倒计时的完整攻略。 步骤1:创建 HTML 页面 首先,我们需要在 HTML 页面中添加一个画布元素 canvas 以及 JavaScript 倒计时所需要的 HTML 元素: <!DOCTYPE html> …

    JavaScript 2023年5月27日
    00
  • Javascript Date toString() 方法

    以下是关于JavaScript Date对象的toString()方法的完整攻略,包括两个示例说明。 JavaScript Date对象的toString()方法 JavaScript的toString()方法返回一个表示日期时间部分的字符串,该字符串格式根据国际标准时间(UTC)而定。该方法不接受任何参数。 下面是使用对象的toString()方法的示例:…

    JavaScript 2023年5月11日
    00
  • 深入理解Javascript中的valueOf与toString

    深入理解Javascript中的valueOf与toString 在Javascript中, 对象数据类型是一种复杂的数据类型, 它们包含了很多有用的信息, 如类型、值等。我们常常需要将这些信息转化为字符串或数字类型,这时,我们就需要使用到对象的 valueOf 方法或 toString 方法。下面,我们将分别介绍这两个方法。 valueOf方法 value…

    JavaScript 2023年6月10日
    00
  • json字符串之间的相互转换示例代码

    下面是讲解“JSON字符串之间的相互转换示例代码”的完整攻略,包含两条示例说明。 什么是JSON? JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。JSON格式采用键值对的方式来表示数据,方便数据的存储和传输。 如何将JSON字符串转换为JavaScript对象? 可以使用 JSON.parse() 方法将JSON…

    JavaScript 2023年5月27日
    00
  • js实现各种复制到剪贴板的方法(分享)

    下面是js实现各种复制到剪贴板的方法的攻略: 一、前置知识 为了实现复制到剪贴板的功能,必须要掌握以下前置知识: Clipboard API:一种新的Web API,提供了操作剪贴板的标准接口,并且被主流浏览器所支持。 execCommand()方法:一种旧的Web API,已经被废弃,但是在Clipboard API出现之前是实现复制到剪贴板的常用方法。 …

    JavaScript 2023年6月11日
    00
  • JavaScript ES6 Class类实现原理详解

    下面是关于JavaScript ES6 Class类实现原理的详细攻略。 什么是ES6 Class ES6引入了Class关键字,通过它可以使用类的方式来编写JavaScript代码,使得代码更加可读性强,易于维护和重构。 一个基础的ES6类的定义方式如下: class Person { constructor(name, age) { this.name …

    JavaScript 2023年5月28日
    00
  • javascript限制用户只能输汉字中文的方法

    要限制用户只能输入汉字中文,可以在JavaScript中使用正则表达式来检查用户输入的文本字符。以下是可以用来实现此目的的JavaScript代码: // 使用正则表达式检查文本中是否包含非中文字符 function isChinese(str) { var regex = /^[\u4E00-\u9FA5]+$/; // 匹配所有汉字 return reg…

    JavaScript 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部