本文主要介绍,ES10新特性,object.fromEntries,trimStart,trimEnd,flat,flatMap,description
1、Object.fromEntries 将二维数组或者map转换成对象;
2、trimStart 和 trimEnd 去除字符串前后的空白字符;
3、Array.prototype.flat 与 flatMap 将多维数组降维;
4、Symbol.prototype.description 获取Symbol的字符串描述;
1.ES10新特性: Object.fromEntries
将二维数组或者map转换成对象; 之前学的Object.entries是将对象转换成二维数组;
// Object.fromEntries:将二维数组或者map转换成对象
// 之前学的Object.entries是将对象转换成二维数组
// 此方法接收的是一个二维数组,或者是一个map集合
// 二维数组
const result = Object.fromEntries([ ["name","https://www.fujuhao.com"],
["age",24],
]);
console.log(result); // {name: 'https://www.fujuhao.com', age: 24}
const m = new Map(); m.set("name","https://www.fujuhao.com");
m.set("age",24);
const result1 = Object.fromEntries(m);
console.log(result1); // {name: 'https://www.fujuhao.com', age: 24}
2.ES10新特性: trimStart 和 trimEnd
去掉字符串前后的空白字符;
// trimStart 和 trimEnd
let str = " https://www.fujuhao.com ";
console.log('|',str.trimLeft(),'|'); // |https://www.fujuhao.com |
console.log('|',str.trimRight(),'|'); // | https://www.fujuhao.com|
console.log('|',str.trimStart(),'|'); // |https://www.fujuhao.com |
console.log('|',str.trimEnd(),'|'); // | https://www.fujuhao.com|
3.ES10新特性: Array.prototype.flat 与 flatMap
将多维数组转换成低维数组;
// 将二维数组转换成一维数组
const arr = [1,2,3,[4,5],6,7];
console.log(arr.flat()); // [1, 2, 3, 4, 5, 6, 7]
// 将三维数组转换成二维数组
const arr2 = [1,2,3,[4,5,[6,7]],8,9];
console.log(arr2.flat()); // [1, 2, 3, 4, 5, Array(2), 8, 9]
// 将三维数组转换成一维数组
const arr2 = [1,2,3,[4,5,[6,7]],8,9];
console.log(arr2.flat(2)); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
// flatMap
const arr3 = [1,2,3,4,5];
const result0 = arr3.map(item => item * 10);
console.log(result0); // [10, 20, 30, 40, 50]
const arr3 = [1,2,3,4,5];
const result = arr3.map(item => [item * 10]);
console.log(result); // [Array(1), Array(1), Array(1), Array(1), Array(1)]
const arr3 = [1,2,3,4,5];
const result1 = arr3.flatMap(item => [item * 10]);
console.log(result1); // [10, 20, 30, 40, 50]
4.ES10新特性: Symbol.prototype.description
获取Symbol的描述字符串;
// 创建Symbol
let s = Symbol("https://www.fujuhao.com");
console.log(s.description); // https://www.fujuhao.com