关于javascript:ES10字符串和数组扩展

3次阅读

共计 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]

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

正文完
 0