关于ES6中数组新增的方法详解

关于ES6中数组新增的方法详解

ES6引入了很多新的语法和特性,其中包含了很多新的数组方法,这些方法大大增强了JavaScript处理数组的能力,本篇文章将详细介绍ES6中数组新增的方法。

本文将介绍以下14种方法:

  1. Array.from
  2. Array.of
  3. Array.prototype.copyWithin
  4. Array.prototype.fill
  5. Array.prototype.find
  6. Array.prototype.findIndex
  7. Array.prototype.entries
  8. Array.prototype.keys
  9. Array.prototype.values
  10. Array.prototype.includes
  11. Array.prototype.flat
  12. Array.prototype.flatMap
  13. Array.prototype.forEach
  14. Array.prototype.map

1. Array.from

Array.from()方法将类数组对象和可迭代对象转换为数组,返回转换后的新数组。

示例:

let str = 'hello';
let arr = Array.from(str);
console.log(arr); // ['h', 'e', 'l', 'l', 'o']

2. Array.of

Array.of()方法用于创建数组,与直接使用数组字面量有两个区别:1. 可以创建单个元素的数组;2. 不会忽略空位。

示例:

let arr1 = Array.of(3);
console.log(arr1); // [3]
let arr2 = Array.of(1, null, 'hello');
console.log(arr2); // [1, null, 'hello']

3. Array.prototype.copyWithin

copyWithin()方法将数组中指定范围的元素复制到另一个指定索引处的位置。会修改原数组。

示例:

let arr = ['a', 'b', 'c', 'd', 'e'];
arr.copyWithin(1, 3);
console.log(arr); // ['a', 'd', 'e', 'd', 'e']

4. Array.prototype.fill

fill()方法用指定的值填充数组。

示例:

let arr = new Array(3).fill(0);
console.log(arr); // [0, 0, 0]

5. Array.prototype.find

find()方法返回数组中第一个满足条件的元素,找不到返回undefined。

示例:

let arr = [1, 2, 3, 4, 5];
let result = arr.find(item => item > 3);
console.log(result); // 4

6. Array.prototype.findIndex

findIndex()方法返回数组中第一个满足条件的元素的索引,找不到返回-1。

示例:

let arr = [1, 2, 3, 4, 5];
let index = arr.findIndex(item => item > 3);
console.log(index); // 3

7. Array.prototype.entries

entries()方法返回一个迭代器对象,可以用于遍历数组中的[key, value]对。

示例:

let arr = ['a', 'b', 'c'];
let iterator = arr.entries();
console.log(iterator.next().value); // [0, 'a']
console.log(iterator.next().value); // [1, 'b']
console.log(iterator.next().value); // [2, 'c']

8. Array.prototype.keys

keys()方法返回一个迭代器对象,可以用于遍历数组中的键。

示例:

let arr = ['a', 'b', 'c'];
let iterator = arr.keys();
console.log(iterator.next().value); // 0
console.log(iterator.next().value); // 1
console.log(iterator.next().value); // 2

9. Array.prototype.values

values()方法返回一个迭代器对象,可以用于遍历数组中的值。

示例:

let arr = ['a', 'b', 'c'];
let iterator = arr.values();
console.log(iterator.next().value); // 'a'
console.log(iterator.next().value); // 'b'
console.log(iterator.next().value); // 'c'

10. Array.prototype.includes

includes()方法用于判断数组是否包含指定的值,返回布尔值。

示例:

let arr = [1, 2, 3, 4, 5];
console.log(arr.includes(2)); // true
console.log(arr.includes(6)); // false

11. Array.prototype.flat

flat()方法将多维数组拍平成一维数组。

示例:

let arr1 = [1, [2, [3, 4]]];
console.log(arr1.flat()); // [1, 2, [3, 4]]
let arr2 = [1, [2, [3, 4]]];
console.log(arr2.flat(2)); // [1, 2, 3, 4]

12. Array.prototype.flatMap

flatMap()方法类似于map()方法,不同的是,先对数组中每个元素执行映射函数,然后再将返回的一维数组拍平成新的数组。

示例:

let arr = [1, 2, 3];
let result = arr.flatMap(item => [item, item * 2]);
console.log(result); // [1, 2, 2, 4, 3, 6]

13. Array.prototype.forEach

forEach()方法对数组中的每个元素执行一次给定的函数,不返回值。

示例:

let arr = [1, 2, 3];
arr.forEach(item => console.log(item));

14. Array.prototype.Map

map()方法对数组中的每个元素执行一次给定的函数,并返回新的数组。

示例:

let arr = [1, 2, 3];
let result = arr.map(item => item * 2);
console.log(result); // [2, 4, 6]

以上14种方法是ES6中新增的数组方法,这些方法可以更加方便地处理数组,提高开发效率。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于ES6中数组新增的方法详解 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • Mysql服务器的安装配置与启动关闭方法详解

    Mysql服务器的安装配置与启动关闭方法详解 安装Mysql服务器 步骤一:下载Mysql安装包 官网链接:https://dev.mysql.com/downloads/mysql/ 步骤二:解压安装包 使用以下命令解压安装包: tar -zxvf mysql-xxx.tar.gz -C /usr/local 步骤三:创建Mysql数据存储目录 使用以下命…

    other 2023年6月27日
    00
  • 霍格沃茨之遗崩溃怎么办 游戏崩溃解决方法

    霍格沃茨之遗崩溃怎么办 游戏崩溃解决方法 1.检查游戏配置 在游戏开始之前,我们需要检查游戏的配置是否符合要求,可以通过以下步骤进行检查: 打开游戏列表,找到霍格沃茨之遗游戏,右键点击游戏图标,选择”属性”选项。 在游戏属性窗口中选择”本地文件”选项卡,点击”验证游戏文件完整性”按钮。 如果游戏文件被破坏或缺失,则会自动下载修复文件并覆盖原文件。 在进行游戏…

    other 2023年6月27日
    00
  • linux将yum安装的下载下来

    Linux将yum安装的下载下来 如果你使用的是Linux系统,你很可能正在使用yum作为你的软件包管理器。yum是一个非常强大的工具,可用于快速安装和升级软件包,同时还可以轻松管理系统的依赖关系。 但是,有时候你可能需要将yum安装的软件下载下来,以便在没有网络连接的计算机上安装它们,或者在将它们复制到另一个Linux系统上进行安装。 以下是如何使用yum…

    其他 2023年3月28日
    00
  • 关于g++和gcc的相同点和区别详解

    关于g++和gcc的相同点和区别详解 相同点 g++和gcc都是GNU Compiler Collection的组成部分,是一套集成了多种编程语言的编译器。 g++和gcc都支持多种CPU架构,包括x86,ARM和PowerPC等。 g++和gcc都可以编译多种编程语言,包括C,C++,Objective-C,Fortran等。 区别 g++与gcc最大的区…

    other 2023年6月26日
    00
  • svg 贝塞尔曲线图解(记录)

    SVG贝塞尔曲线图解(记录) 本文将为大家介绍SVG中贝塞尔曲线的基本概念、使用方法和实例演示。 什么是贝塞尔曲线? 贝塞尔曲线是数学曲线的一种,具有它自己的计算和画图方法。在图形学中,贝塞尔曲线的主要应用为生成和绘制复杂的曲线,如二次贝塞尔曲线、三次贝塞尔曲线等。 SVG中贝塞尔曲线的基本语法 <path d="M x1 y1 Q cx c…

    其他 2023年3月28日
    00
  • python支持多继承吗

    当涉及到面向对象编程(OOP)时,继承是一个非常重要的概念之一。继承是一种方式,可以创建一个新的类(子类),以重用现有类(父类)的属性和方法。Python是支持多继承的编程语言。 Python支持多继承的方式是通过在子类定义中列出多个父类名称来实现的。例如: class A: def method_a(self): print("method_a&…

    other 2023年6月27日
    00
  • Office2016 RTM正式版的版本号定为16.0.4229.1024

    以下是关于“RTM 正式版的版本号定为 16.0.4229.1024”的完整攻略,包含了两个示例说明。 版本号 根据消息,RTM 正式版的版本号定为 16.0.4229.1024。这意味着在正式发布时,该版本的软件将具有该特定的版本号。 示例说明 示例一:RTM 正式版的版本号 根据消息,RTM 正式版的版本号定为 16.0.4229.1024。这意味着在正…

    other 2023年8月2日
    00
  • win7桌面图标不见了图文解决方案

    Win7桌面图标不见了图文解决方案 问题描述 在使用Windows 7操作系统时,有时会遇到桌面上的图标不见了的情况,导致用户无法快速访问常用的应用程序或文件。 解决方案 方案一:查看桌面图标是否被隐藏 首先,鼠标右键点击桌面空白处,选择“个性化”选项。 在“个性化”窗口中,点击“更改桌面图标”选项。 在“桌面图标设置”窗口中,勾选要显示的图标。 如果仍然无…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部