JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)

这篇具有很好参考价值的文章主要介绍了JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)

📋前言

数组是 JavaScript 以及多数编程其他编程语言的一种基础数据类型。ES6 提供了许多新的数组方法,这篇文章将介绍其中一些常用的数组方法及其使用示例。


🎯Array.from()

Array.from() 方法从一个类似数组或可迭代对象中创建一个新的,浅拷贝的数组实例。例如,将字符串转换为字符数组。

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

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.of()

Array.of() 方法创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。

const arr1 = Array.of(1, 2, 3, 4);
console.log(arr1); // [1, 2, 3, 4]
const arr2 = Array.of(10);
console.log(arr2); // [10]

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.find()

Array.find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined

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

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.findIndex()

Array.findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。否则返回 -1

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

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.includes()

Array.includes() 方法判断一个数组是否包含某个指定的元素,根据情况,如果包含则返回 true ,否则返回 false

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

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.flat()

Array.flat() 方法创建一个新数组,其中所有子数组元素递归地连接到指定的深度。

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

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.flatMap()

Array.flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。可以同时实现 mapflat 两个操作。

调用 a.flatMap() 相当于(但是效率远高于)a.map(f).flat()

const arr = [1, 2, 3];
const result = arr.flatMap(x => [x, x * 2]);
console.log(result); // [1, 2, 2, 4, 3, 6]
const arr = [-1, -2, 1, 2];
const result = arr.flatMap(x => x < 0 ? [] : Math.sqrt(x));
console.log(result); // [1, 1.4142135623730951]

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.every()

Array.every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。如果函数对所有元素都返回 true,则该方法返回 true ,否则返回 false

let a = [1, 2, 3, 4, 5]
a.every(x => x < 10) // true 所有值小于10
a.every(x => x % 2 === 0) // false 并非所有值都为偶数

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.some()

Array.some() 方法测试一个数组内的所有元素是否至少有一个能通过某个指定函数的测试。如果函数对任一元素返回 true,则该方法返回 true,否则返回 false

let a = [1, 2, 3, 4, 5]
a.some(x => x % 2 === 0) // true a包含偶数
a.some(isNaN) // false a没有非数值

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.reduce()

Array.reduce() 方法对数组中的每个元素执行一个提供的函数,将其结果汇总为单个返回值。

const arr = [1, 2, 3, 4, 5];
const result = arr.reduce((accumulator, currentValue) => accumulator + currentValue, 0);
console.log(result); // 15

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.reduceRight()

reduceRight()reduce() 类似,只不过是从高索引向低索引(从右到左)处理数组,而不是从低到高。

反正就是从数组的末尾开始执行。它对数组中的每个元素(从右到左)应用一个函数,将其结果汇总成单个值并返回。

const arr = [1, 2, 3, 4, 5];
const sum = arr.reduceRight((accumulator, currentValue) => {
  return accumulator + currentValue;
});
console.log(sum); // 15

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.sort()

Array.sort() 方法对数组元素进行排序,默认情况下按照字符串排序。

const arr = [3, 1, 4, 1, 5, 9, 2, 6];
arr.sort();
console.log(arr); // [1, 1, 2, 3, 4, 5, 6, 9]

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)
若要按照数值大小排序,需要传入一个比较函数。

const arr = [3, 1, 4, 1, 5, 9, 2, 6];
arr.sort((a, b) => a - b);
console.log(arr); // [1, 1, 2, 3, 4, 5, 6, 9]

🎯Array.reverse()

Array.reverse() 方法将数组中元素的位置颠倒,并返回该数组的引用。

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

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.fill()

Array.fill() 方法填充一个数组中从起始索引到终止索引内的全部元素,使用一个静态值。可以用于初始化一个固定值的数组。

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

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.slice()

Array.slice() 方法返回一个新数组,包含从起始索引到终止索引(不包括终止索引)内的所有元素。

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

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.splice()

Array.splice() 方法通过删除或替换现有元素或者在指定位置插入新元素来修改数组。(注意 Array.splice()Array.slice() 不用混淆了)

const arr = [1, 2, 3, 4, 5];
arr.splice(2, 1); // 从第2个位置开始删除1个元素
console.log(arr); // [1, 2, 4, 5]

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.copyWithin()

Array.copyWithin() 方法把数组切片复制到数组中的新位置,它会就地修改数组并返回修改后的数组,但不会改变数组的长度。该方法接受的参数:

  • target(必需):从该位置开始替换数据。如果为负值,则表示倒数第几个位置。如果 target 大于等于数组长度,则什么也不发生。
  • start(可选):从该位置开始读取数据,默认为 0。如果为负值,则表示倒数第几个位置。如果 start 被忽略,copyWithin() 将会从第一个元素开始复制。如果 start 大于等于数组长度,则什么也不发生。
  • end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,则表示倒数第几个位置。
const arr = [1, 2, 3, 4, 5];
arr.copyWithin(0, -3);
console.log(arr); // [3, 4, 5, 4, 5]

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.forEach()

Array.forEach() 方法对数组的每个元素执行一次提供的函数,函数接受三个参数:当前元素,当前索引和数组本身。该方法没有返回值。

const arr = [1, 2, 3, 4, 5];
arr.forEach((element, index) => {
  console.log(`arr[${index}] = ${element}`);
});
// 输出:
// arr[0] = 1
// arr[1] = 2
// arr[2] = 3
// arr[3] = 4
// arr[4] = 5

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.map()

Array.map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。

const arr = [1, 2, 3, 4, 5];
const mappedArr = arr.map((element) => element * 2);
console.log(mappedArr); // [2, 4, 6, 8, 10]

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)


🎯Array.filter()

Array.filter() 方法创建一个新数组,其中包含所有通过指定函数测试的元素。测试函数接受三个参数:当前元素,当前索引和数组本身。

const arr = [1, 2, 3, 4, 5];
const filteredArr = arr.filter((element) => element > 3);
console.log(filteredArr); // [4, 5]

JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)
等等…


📝最后

以上就是常用的 ES6 数组方法及其使用示例,这些方法为我们处理数组提供了非常便捷的方式,使用它们可以让我们更加高效地编写代码。
JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)
文章来源地址https://www.toymoban.com/news/detail-495325.html

到了这里,关于JavaScript笔记——快速了解 ES6 新增数组方法,开箱即用(含案例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaScript Es6_2笔记 (深入对象 + 内置构造函数 + 包装类型)+包含实例方法

    了解面向对象编程的基础概念及构造函数的作用,体会 JavaScript 一切皆对象的语言特征,掌握常见的对象属性和方法的使用。 了解面向对象编程中的一般概念 能够基于构造函数创建对象 理解 JavaScript 中一切皆对象的语言特征 理解引用对象类型值存储的的

    2024年02月12日
    浏览(31)
  • ES6 - 对象新增的一些常用方法

    再ES5中 比较两个值是否相等,只有两个运算符:相等运算符( == )和严格相等运算符( === ) 但它们都有缺点,前者会 自动转换 数据类型,后者的 NaN 不等于自身,以及 +0 等于 -0 。 先说它们两个的比较过程: 双等号== : (1)如果两个值类型相同,再进行三个等号(===)的

    2024年02月13日
    浏览(22)
  • 【JavaScript】探索ES6中的数组API:简洁高效的操作方式

    ES6 ( ECMAScript 2015 )是 JavaScript 语言的一个重要版本,为编写更加简洁、便捷和可读性更高的代码提供了很多新的特性和 API。想了解ES6所有新增API,可以跳转至我的另一篇博客:JS语法 ES6、ES7、ES8、ES9、ES10、ES11、ES12新特性 其中 数组相关的 API 也在 ES6 中得到了大大的增强,

    2024年02月09日
    浏览(34)
  • JavaScript Es6_3笔记

    了解构造函数原型对象的语法特征,掌握 JavaScript 中面向对象编程的实现方式,基于面向对象编程思想实现 DOM 操作的封装。 了解面向对象编程的一般特征 掌握基于构造函数原型对象的逻辑封装 掌握基于原型对象实现的继承 理解什么原型链及其作用 能够处理程序异常提升程

    2024年02月11日
    浏览(31)
  • JavaScript学习笔记01(包含ES6语法)

    Js 最初被创建的目的是“使网页更生动”。 Js 写出来的程序被称为 脚本 ,Js 是一门脚本语言。 被直接写在网页的 HTML 中,在页面加载的时候自动执行 脚本被以纯文本的形式提供和执行,不需要特殊的准备或编译即可运行(JIN compiler) Js 不仅可以在浏览器中执行,也可以在

    2024年02月16日
    浏览(38)
  • 数组的原型方法-es6

    数组的原型方法-es6 Array.form() Array.of() find() 和 findIndex() copyWithin() fill() entries(),keys()和values() includes() flat()和flatMap() 扩展运算符 at() reduce()和reduceRight() some()判断数组中是否存在满足条件的项 18、Array.form() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-li

    2024年02月09日
    浏览(28)
  • 【Js】数组(包括es6)方法大集合

    数组方法(包括es6) 1、arr.push() 从后面添加元素,返回值为添加完后的数组的长度 , 改变原数组 2、arr.pop() 从后面删除元素,只能是一个,返回值是删除的元素 ( 改变原数组 ) 3、arr.shift() 从前面删除元素,只能删除一个 返回值是删除的元素( 改变原数组 ) 4、arr.unshift(

    2023年04月16日
    浏览(25)
  • 【ES5和ES6】数组遍历的各种方法集合

    特点: 没有返回值,只是针对每个元素调用func 三个参数:item, index, arr ;当前项,当前项的索引,被遍历的数组 for 循环可以在循环体中终止或跳过该循环,forEach不可以 特点:返回新的arr, 每个元素为调用函数返回的结果 参数: function:必选,数组中每个元素都会执行的函

    2024年02月12日
    浏览(23)
  • JS中操作数组的方法(涵盖ES6)

    一、常用的 JavaScript 操作数组的方法 1.push() 和 pop():在数组末尾添加或删除元素。 2.shift() 和 unshift():在数组头部删除或添加元素。 3.splice():在任意位置添加或删除元素。如果删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。(改变原始数组)

    2024年02月05日
    浏览(32)
  • ES6 全详解 let 、 const 、解构赋值、剩余运算符、函数默认参数、扩展运算符、箭头函数、新增方法,promise、Set、class等等

    ​ ECMAScript 6.0,简称 ES6,是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言 要讲清楚这个问题,需要回顾历史。1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaSc

    2024年04月15日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包