ECMA Script 2019 (ES10)新内容

Posted 听雪拨弦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ECMA Script 2019 (ES10)新内容相关的知识,希望对你有一定的参考价值。

数组方法 flat();flatMap()

flat(depth) 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回

参数 depth  <- 指定要提取嵌套数组的结构深度,默认值为 1 

var arr1 = [1, 2, [3, 4]];
var arr2 = [1, 2, [3, 4, [5, 6]]];
arr1.flat(); // <- 输出 [1,2,3,4];
arr2.flat(); // <- 输出 [1, 2, 3, 4, [5, 6]];
arr2.flat(2);  // <- 输出 [1, 2, 3, 4, 5, 6];

var arr3 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];
arr3.flat(Infinity); // <- 输出 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
// 使用 Infinity 可展开任意深度的嵌套数组;

var arr4 = var arr4 = [1, 2, , 4, 5];
arr4.flat(); // <- 输出 [1, 2, 4, 5];
// flat() 方法会移除数组中的空项;

flatMap(depth)  方法会返回一个新的数组,其中每个元素都是回调函数的结果,并且结构深度 depth 值为 1 

描述:
  flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组 
  它与 map 连着深度值为1的 flat 几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些 

var new_array = arr.flatMap(function callback(currentValue[, index[, array]]) 
    // return element for new_array
  [, thisArg]);

/*
  参数:
  callback  <-可以生成一个新数组中的元素的函数,可以传入三个参数:
  currentValue  <- 当前正在数组中处理的元素
  index (可选)  <- 数组中正在处理的当前元素的索引 
  array (可选)  <- 被调用的 map 数组
  thisArg (可选)  <- 执行 callback 函数时使用的 this 值 
*/

新增的对象方法

Object.fromEntries()  可以把键值对列表转换为一个对象 

Object.fromEntries(iterable); /*
  参数:
    iterable  <- 类似 Array 、Map 或者其它实现了可迭代协议的可迭代对象 */

字符串方法

str.trimStart() || str.trimLeft()   返回一个新字符串,表示从其开头(左端)除去空格的调用字符串 
str.trimEnd() || str.trimRight()  返回一个新字符串,表示从其末尾(右端)除去空格的调用字符串  

以上是关于ECMA Script 2019 (ES10)新内容的主要内容,如果未能解决你的问题,请参考以下文章

ECMA Script 2019 (ES10)新内容

ECMA Script 2019 (ES10)新内容

ECMA Script 2016 (ES7)新内容

ECMA Script 2016 (ES7)新内容

ECMA Script 2016 (ES7)新内容

ECMA Script 2017 (ES8)新内容