Skip to content

es10

flat和flatMap

flat( )可以对数组进行降维,可以传入对数组的降维次数。

js
let arr = [1, 5, 6, 8, [23, 3, 15, [19, 12]], 10, [12, 3, 6]];
console.log(arr.flat());
console.log(arr.flat(2));
//[ 1, 5, 6, 8, 23, 3, 15, [ 19, 12 ], 10, 12, 3, 6 ]
//[
//  1,  5,  6,  8, 23, 3,
// 15, 19, 12, 10, 12, 3,
// 6
//]

flatMap( ) 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组

注意一:flatMap是先进行map操作,再做flat的操作;

注意二:flatMap中的flat相当于深度为1;

js
const str = ['hello world', 'oh my gard', 'yes I know'];
const newstr = str.flatMap((item) => {
    return item.split(' ');
})
console.log(newstr);
/*[
  'hello', 'world',
  'oh',    'my',
  'gard',  'yes',
  'I',     'know'
]*/

Object fromEntries

将entries类型的数组转为对象类型

例如:将url地址转入的信息分析转换为对象。

js
var url = new URL('https://example.com?foo=1&bar=2');
var params = new URLSearchParams(url.search);
console.log(Object.fromEntries(params));

trimStart trimEnd

trimStart :去除字符串前面的空格

trimEnd: 去除字符串后面的空格

Symbol description

获取symbol类型数据传入的描述符

js
let sy = Symbol('owdsfe');
console.log(sy.description);

Optional catch binding