共计 1339 个字符,预计需要花费 4 分钟才能阅读完成。
小编明天更新在 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]
大家还能够扫描二维码,关注我的微信公众号,蜗牛全栈
正文完