前端进阶JS数组高级用法大全教程示例

前端进阶JS数组高级用法大全教程示例

基础知识

在讲解JavaScript数组的高级用法之前,我们需要了解一些JavaScript数组的基础知识。

JavaScript数组是一种存储有序数据集合的容器,可以包含任何类型的数据,包括数字、字符串、对象等。数组可以通过索引来访问包含在其中的元素,这些元素的索引从0开始。

在JavaScript数组中,有些方法是可以修改原数组的,而有些方法则不会修改原数组而是返回一个新的数组,这点需要注意。

常用方法

遍历数组

遍历数组的方法有很多,以下是常用的一些方法。

  1. forEach
const arr = [1, 2, 3, 4, 5];
arr.forEach(item => {
  console.log(item);
});
  1. map
const arr = [1, 2, 3, 4, 5];
const newArr = arr.map(item => {
  return item * 2;
});
console.log(newArr); // [2, 4, 6, 8, 10]
  1. filter
const arr = [1, 2, 3, 4, 5];
const newArr = arr.filter(item => {
  return item > 3;
});
console.log(newArr); // [4, 5]
  1. reduce
const arr = [1, 2, 3, 4, 5];
const sum = arr.reduce((prev, curr) => {
  return prev + curr;
}, 0);
console.log(sum); // 15

修改数组

以下是常用的一些修改数组的方法。

  1. push / pop
const arr = [1, 2, 3];
arr.push(4);
console.log(arr); // [1, 2, 3, 4]
arr.pop();
console.log(arr); // [1, 2, 3]
  1. shift / unshift
const arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // [0, 1, 2, 3]
arr.shift();
console.log(arr); // [1, 2, 3]
  1. splice
const arr = [1, 2, 3, 4, 5];
arr.splice(2, 1, 6);
console.log(arr); // [1, 2, 6, 4, 5]
  1. sort
const arr = [3, 1, 6, 2, 4, 5];
arr.sort();
console.log(arr); // [1, 2, 3, 4, 5, 6]

进阶用法

数组去重

const arr = [1, 2, 1, 3, 4, 2];
const newArr = [...new Set(arr)];
console.log(newArr); // [1, 2, 3, 4]

数组扁平化

const arr = [1, [2, 3], [4, [5]]];
const flatArr = arr.flat(2);
console.log(flatArr); // [1, 2, 3, 4, 5]

示例说明

示例1:从数组中随机获取一个元素

const arr = [1, 2, 3, 4, 5];
const randomIndex = Math.floor(Math.random() * arr.length);
const randomItem = arr[randomIndex];
console.log(randomItem);

上述代码中,首先生成一个随机索引randomIndex,然后通过数组的随机索引获取相应的随机元素。

示例2:使用reduce求出数组中的最大值

const arr = [1, 3, 5, 7, 9, 2, 4, 6, 8, 10];
const max = arr.reduce((prev, curr) => {
  return prev > curr ? prev : curr;
});
console.log(max);

使用reduce方法可以遍历数组中的每个元素,并通过回调函数对元素进行操作。上述代码中,回调函数中通过比较prev和curr的大小,来决定返回较大的那个值。最后reduce方法返回的就是数组中的最大值。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:前端进阶JS数组高级用法大全教程示例 - Python技术站

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

相关文章

  • js与applet相互调用的方法

    我来为你介绍一下「JavaScript 与 Applet 相互调用的方法」。 什么是 Applet 首先,我们需要了解一下什么是 Applet。Applet 是 Java 语言编写的小型应用程序,其本质是 Java 类,可在 Web 浏览器或其他支持 Java 虚拟机的环境下运行。由于 Applet 的本质是 Java 类,因此 Applet 也可以和 Ja…

    JavaScript 2023年5月27日
    00
  • JavaScript中ahooks 处理 DOM 的方法

    下面是详细讲解 JavaScript 中 ahooks 处理 DOM 的方法的攻略: 简介 ahooks 是经过封装的钩子库,在 React 开发中经常会使用到。其中包含了一些与 DOM 有关的操作,比如 useClickAway 可以监听用户在页面其他区域的点击事件等。在 ahooks 中使用这些钩子能够更加方便地进行 DOM 操作。 安装 在命令行中输入…

    JavaScript 2023年6月10日
    00
  • javascript实现的猜数小游戏完整实例代码

    下面是对“javascript实现的猜数小游戏完整实例代码”相关攻略的详细讲解。 1. 游戏规则 这个小游戏的规则很简单:你需要在10次机会内,猜出一个在1到100之间的随机整数。每次你的猜测结果,程序会给出提示,告诉你猜的数是大于还是小于随机数,以帮助你通过下一次更好的猜测猜出正确的数字。 2. 代码实现 主要的代码实现如下所示: // 生成1到100的随…

    JavaScript 2023年5月28日
    00
  • JavaScript中最简洁的编码html字符串的方法

    生成HTML字符串是JavaScript中非常常见的操作,下面分享一种简洁的方法来编写HTML字符串,步骤如下: 1. 使用模板字符串方式生成HTML字符串 在ES6中提供了模板字符串,使用模板字符串可以轻松地编写HTML字符串。所谓模板字符串,就是以反引号(`)为边界,内部可以包含变量,类似下面这样: const name = ‘John’; const …

    JavaScript 2023年5月18日
    00
  • Javascript之文件操作

    下面是详细讲解JavaScript之文件操作的完整攻略,包括文件的读取、写入、删除等常见操作。 1. 读取文件 1.1 读取本地文件 可以使用FileReader对象读取本地文件。它提供一些方法来读取文件的内容,如readAsArrayBuffer、readAsBinaryString、readAsText、readAsDataURL等。这些方法的参数是一个…

    JavaScript 2023年5月18日
    00
  • 小程序tab页无法传递参数的方法

    小程序tab页无法传递参数是因为tab页在切换时不会重新加载,也就无法获取新的参数。解决这个问题的方法有多种,下面将提供两条示例说明。 方法1:使用全局变量传参 在小程序的app.js文件中定义一个全局变量globalData,用于存储需要传递的参数,然后在tab页的onLoad生命周期函数中获取这个参数即可。 代码示例: // app.js App({ g…

    JavaScript 2023年6月11日
    00
  • 在js文件中引入(调用)另一个js文件的三种方法

    在 JavaScript 中引入(调用)其他 JavaScript 文件的方式主要有以下三种: 1. 使用<script>标签引入(调用)其他 JavaScript 文件 使用<script>标签可以在 HTML 文件中引入(调用)其他 JavaScript 文件,该文件可以被浏览器直接加载。 <script>标签通常放在…

    JavaScript 2023年5月27日
    00
  • javascript中replace( )方法的使用

    下面是关于 JavaScript 中 replace() 方法的完整攻略。 replace() 方法简介 replace() 方法是 JavaScript 中一个非常常用的字符串方法,它用于查找和替换字符串中的某些字符或者子字符串。replace() 方法的语法如下: str.replace(regexp|substr, newSubStr|function…

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