前言
JavaScript 是一门非常灵活的语言,它的灵活性使得在开发过程中可以快速地实现各种功能,但也因此带来了一些问题,比如代码可读性差、代码重复等。为了解决这些问题,ES11 对 Array.prototype 提供的一些方法进行了语义更新,本文将介绍这些更新内容。
filter
filter 方法用于过滤数组中的元素,返回一个新的数组,新数组中的元素是通过回调函数的返回值为 true 的元素组成的。
在 ES11 中,filter 方法新增了一个参数,用于指定回调函数的 this 值。
示例代码:
-- -------------------- ---- ------- ----- --- - --- -- -- -- --- -------- -------------- - ------ ---- - ---- --- -- - ----- ------ - -------------------- --- -------------------- -- --- --
map
map 方法用于将数组中的元素转换为新的元素,返回一个新的数组。
在 ES11 中,map 方法新增了一个参数,用于指定回调函数的 this 值。
示例代码:
-- -------------------- ---- ------- ----- --- - --- -- -- -- --- -------- ----------- - ------ ---- - ----- - ----- ------ - -------------- --- -------------------- -- --- -- -- -- ---
reduce
reduce 方法用于将数组中的元素归纳为一个值,返回这个值。
在 ES11 中,reduce 方法新增了一个参数,用于指定回调函数的 this 值。
示例代码:
-- -------------------- ---- ------- ----- --- - --- -- -- -- --- -------- -------------- ---- - ------ ---- - --- - ----- - ----- ------ - -------------------- --- -------------------- -- --
reduceRight
reduceRight 方法与 reduce 方法类似,只不过它是从右往左归纳。
在 ES11 中,reduceRight 方法新增了一个参数,用于指定回调函数的 this 值。
示例代码:
-- -------------------- ---- ------- ----- --- - --- -- -- -- --- -------- ------------------- ---- - ------ ---- - --- - ----- - ----- ------ - ------------------------------ --- -------------------- -- --
sort
sort 方法用于对数组进行排序。
在 ES11 中,sort 方法的默认排序规则发生了改变,现在使用的是稳定排序算法。
示例代码:
-- -------------------- ---- ------- ----- --- - - - ----- ------ ---- -- -- - ----- ------- ---- -- -- - ----- -------- ---- -- -- -- ------------ -- -- ----- - ------- ----------------- -- - -- - ----- ------ ---- -- -- -- - ----- -------- ---- -- -- -- - ----- ------- ---- -- -- -- -
find
find 方法用于查找数组中第一个满足条件的元素,返回这个元素。
在 ES11 中,find 方法新增了一个参数,用于指定回调函数的 this 值。
示例代码:
-- -------------------- ---- ------- ----- --- - --- -- -- -- --- -------- ------------ - ------ ---- - ---- --- -- - ----- ------ - ---------------- --- -------------------- -- -
findIndex
findIndex 方法与 find 方法类似,只不过它返回的是满足条件的元素在数组中的下标。
在 ES11 中,findIndex 方法新增了一个参数,用于指定回调函数的 this 值。
示例代码:
-- -------------------- ---- ------- ----- --- - --- -- -- -- --- -------- ----------------- - ------ ---- - ---- --- -- - ----- ------ - -------------------------- --- -------------------- -- -
总结
ES11 对 Array.prototype 提供的一些方法进行了语义更新,使得这些方法更加灵活、易读、易用。在实际开发中,我们可以根据这些更新内容,更加方便地进行数组操作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65dd66c81886fbafa4ac60e7