ES6-高级实用技巧
1、Object.entries()返回一个给定对象自身可枚举属性的键值对数组。
1 const obj = { a: 1, b: 2, c: 3 } 2 const entries = Object.entries(obj) 3 console.log('entries', entries) 4 // [['a', 1], ['b', 2], ['c', 3]]
2、Object.fromEntries()将键值对列表转换为一个对象。
const entries = [ ['a', 1], ['b', 2], ['c', 3] ] const obj = Object.fromEntries(entries) console.log('obj', obj) // { a: 1, b: 2, c: 3 }
3、Object.key ()循环给定对象自身的 key。
const obj = { a: 1, b: 2, c: 3 } Object.keys(obj ).forEach(key => { obj [key] = null }) console.log('obj', obj) // { a: null, b: null, c: null } // 注:此处的应用场景为 清空对象内的值,使用 Object.key 优雅处理
4、Array.of()创建一个具有可变数量参数的新数组实例。
const arr = Array.of('1', '2', '3') console.log('arr', arr) // [ '1', '2', '3' ]
5、Array.from()从类似数组或可迭代对象创建一个新的数组实例。
const str = 'Hello World' const arr = Array.from(str) console.log('arr', arr) // ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']
6、Array.from()将类似数组或可迭代对象转换为真正的数组。它可以接收第二个参数来进行映射或筛选操作。
const arr1 = [1, 2, 3, 4] const arr2 = Array.from(arr1, key => key * 2) console.log('arr2', arr2) // [2, 4, 6, 8]
7、at()返回指定索引处的元素。
const arr = [1, 2, 3, 4] console.log('arr', arr.at(0)) // 1 // 注:仅数组
8、flat()将嵌套的数组扁平化为一个新的数组。
const arr = [1, [2, [3, [4]]]] console.log('arr', arr.flat()) // [1, 2, [3, [4]]]