ES2019

ES2019

1、数组实例 flat() / flatMap()

当数组的成员还是数组,若想将其变成一维数组,则需将其 "拉平". 两个实例方法都是返回一个新的数组,不改变原数组。

  • flat(depth)

depth: number。 默认 1,即之展开一层;若想全部展开,直接用 Infinity

 let arr = [1, 3, [5, 7, ['a', 'b']]]
 let resultArr = arr.flat()
 console.log(arr)           // [1, 3, [5, 7, ['a', 'b']]]
 console.log(resultArr)     // [1, 3, 5, 7, ['a', 'b']]
 
 let resultArr2 - arr.flat(Infinity)
 console.log(resultArr2)   // [1, 3, 5, 7, "a", "b"]
复制代码
  • flatMap(callback)

flatMap() 方法对原数组的每个成员执行一个函数(相当于执行Array.prototype.map()),然后对返回值组成的数组执行flat() 方法。该方法返回一个新数组,不改变原数组。

let arr = [1, 3, 5, 7]
let resultArr = arr.flatMap((x) => [x * 2])
console.log(resultArr3)    // [2, 6, 10, 14]
复制代码
  • map()
let arr_map = [1, 2, 3, 4]
let resultArr4 = arr_map.map(x => [x *2])
console.log(resultArr4);      // [[2], [4], [6], [8]]
复制代码

Object.fromEntries

Object.fromEntriesObject.entries (点击参考) 的反向

const records = [['name', 'Tom'], ['age', 30]]
const records_obj = Object.fromEntries(records); // {'name': 'Tom', 'age': 30}
复制代码

PS: Object.fromEntries chorome 目前还不支持。2019/03/25

String.prototype.{trimStart, trimEnd}

删除 开头/结尾 空格

const str = '  Hello javaScript!   '
console.log(str.length) // 22
console.log(str.trimStart()) // 'Hello javaScript!   '
console.log(str.trimStart().length) // 20
console.log(str.trimEnd()) // '  Hello javaScript!'
console.log(str.trimEnd().length) // 19
复制代码

try / catch

回顾之前:

try {
  JSON.parse(text)
} catch (error) {
  console.log(error);  // ReferenceError: text is not defined
}
复制代码

但有时候 error 是不需要使用, 可以不用写。

function fn(text) {
  try {
    JSON.parse(text)
    return true
  } catch {
    return false
  }
}

console.log(fn()) // false
复制代码

不是很明白这个提案的意义,error 信息用不到,就直接忽略就可以了嘛

转载于:https://juejin.im/post/5c8f682a5188252da90125fc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值