ES10字符串和数组扩展

小编今天更新在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]

大家还可以扫描二维码,关注我的微信公众号,蜗牛全栈
ES10字符串和数组扩展_第1张图片

你可能感兴趣的:(javascript前端)