Skip to content

Latest commit

 

History

History
105 lines (64 loc) · 2.65 KB

14_ES10.md

File metadata and controls

105 lines (64 loc) · 2.65 KB

ES10 - flat flatMap

  • flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返 回。
    • flat: 降维的意思
    • flat:如果不传参数,默认只进行一次降维
    • flat如果传入参数,传入的参数是几就进行几次降维

image-20220607073757387

  • flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。
    • 注意一:flatMap是先进行map操作,再做flat的操作;
    • 注意二:flatMap中的flat相当于深度为1;

flatMap和map

const nums2 = [10, 20, 30];
const nweNums3 = nums2.flatMap(item => {
  return item * 2;
})

const newNums4 = nums2.map(item => {
  return item * 2;
})
console.log(nweNums3);	//[ 20, 40, 60 ]
console.log(newNums4);	//[ 20, 40, 60 ]

应用场景

  • 先对字符串处理成数组了,然后自动对这些数组做一个降维,然后返回一个新的数组,并且是一维数组

image-20220607073819787

[
  'hello', 'world',
  'hello', 'lyh',
  'my',    'name',
  'is',    'wts'
]

ES10 - Object fromEntries

  • 在前面,我们可以通过 Object.entries 将一个对象转换成 entries,那么如果我们有一个entries了,如何将其转换 成对象呢?
    • ES10提供了 Object.formEntries来完成转换:
  • 那么这个方法有什么应用场景呢?
    • 先转成entries,再转成对象

image-20220607073917892

应用场景:

image-20220607073937252

const queryString = 'name=wts&age=18&height=1.88';

// 它是用来处理query这种格式的数据
const queryParams = new URLSearchParams(queryString);
console.log(queryParams); // URLSearchParams { 'name' => 'wts', 'age' => '18', 'height' => '1.88' }
for(const param of queryParams) {
  console.log(param);
  /**
   *  [ 'name', 'wts' ]
      [ 'age', '18' ]
      [ 'height', '1.88' ]
   */
}
const paramObj = Object.fromEntries(queryParams);	// 将entries转成对象
console.log(paramObj);  // { name: 'wts', age: '18', height: '1.88' }

ES10 - trimStart 、 trimEnd

  • 去除一个字符串首尾的空格,我们可以通过trim方法,如果单独去除前面或者后面呢?
    • ES10中给我们提供了trimStart和trimEnd;
    • 分别是去除头部空格,去除尾部空格

image-20220607074017842

ES10 其他知识点

  • Symbol description:已经讲过了
  • Optional catch binding:后面讲解try cach讲解