ES10新特性_fromEntries_trimStart_trimEnd_flat_flatMap_description

ES10新特性_fromEntries_trimStart_trimEnd_flat_flatMap_description

本文主要介绍,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
Loading...