小编明天更新在es10中对字符串和数组的更新,能让咱们在工作的时候能更不便一些,当初咱们看一下都做了那些扩大。
一、字符串扩大
咱们之前在去除字符串中前后空格的时候,能够通过正则表达式,就像这样

let str = '    school   'str.replace(/^\s/g,'') // 去掉字符串后面的空格str.replace(/\s+$/g,'') // 去掉字符串前面的空格

在es10中提供了以下几个办法,很是不便。

let str = '    school   'console.log(str.trimStart()) // 去掉后面空格  'school   'console.log(str.trimLeft()) // 去掉后面空格    'school   'console.log(str.trimEnd()) // 去掉前面空格     '    school'console.log(str.trimRight()) // 去掉前面空格   '    school'console.log(str.trim()) // 前后空格都去掉       'school'

二、对数组的扩大
咱们在我的项目中有些时候会遇到二维数组或者三维数组,这个时候,咱们调用数组的办法的时候 ,有的时候会因为数据解构的起因,变得很简单,es10提供了这样两个办法,能够将多维数组开展,变成一维数组,就像这样

let arr = [1,2,3,[4,5,6,[7,8,9,[10,11,12]]]]console.log(arr.flat())  // [1,2,3,4,5,6,[7,8,9,[10,11,12]]]console.log(arr.flat().flat())  // [1,2,3,4,5,6,7,8,9,[10,11,12]]console.log(arr.flat().flat().flat())  // [1,2,3,4,5,6,7,8,9,10,11,12]

当然,flat函数也是能够传递参数的,外面的参数能够了解为将几维数组全副开展,就像这样

console.log(arr.flat(3)) // [1,2,3,4,5,6,7,8,9,10,11,12]console.log(arr.flat(4)) // [1,2,3,4,5,6,7,8,9,10,11,12]console.log(arr.flat(2)) // [1,2,3,4,5,6,7,8,9,[10,11,12]]console.log(arr.flat(Infinity)) // [1,2,3,4,5,6,7,8,9,10,11,12] 不罕用

同样,咱们也能够通过flatMap关键字,解决以下痛点

const arr= [1,2,3,4,5]const res = arr.map(x => x+1)console.log(res) // [2,3,4,5,6]const res = arr.map(x => [x+1])console.log(res) // [[2],[3],[4],[5],[6]]console.log(res.flat()) // [2,3,4,5,6]const arr= [1,2,3,4,5]const res = arr.flatMap(x => [x+1])console.log(res)  // [2,3,4,5,6]

大家还能够扫描二维码,关注我的微信公众号,蜗牛全栈