使用Array.from()将类似数组转换为数组

官方文档解释:​​Array.from() ​​ 方法对一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例

类似数组解释:拥有长度length 和若干索引index的对象

例:

let str  = 'abc'
str = Array.from(str)
console.log(str); // [ 'a', 'b', 'c']
​使用Set()对数组元素进行去重

官方解释:​​Set​​ 对象允许你存储任何类型的唯一值,无论是[原始值]或者是对象引用

let arr1 = [2,2,2,2,4,4,4,2,2,3]
arr1 = new Set(arr1)
console.log(arr1); // Set(3) { 2, 4, 3 }
使用Object.entries()将对象转换为数组,我们可以通过索引取当中的值

官方解释:​​Object.entries() ​​方法返回一个给定对象自身可枚举属性的键值对数组

let obj = {
a: 1,
b: 2,
c: 3
}
obj = Object.entries(obj)
console.log(obj); // [ [ 'a', 1 ], [ 'b', 2 ], [ 'c', 3 ]
使用sort()对对象的键值对进行排序,特定情况下也许可以方便取值

​一天朋友问我,我不知道对象中键值对的键,可以取到对象中的最大值吗?

我想到通过Object.entries() 将对象转换为键值对数组,对键值对数组中的值进行排序来达到目的

let obj = {
a: 6,
b: 4,
c: 3,
d: 5,
g: 8
}
obj = Object.entries(obj) // [ [ 'a', 6 ], [ 'b', 4 ], [ 'c', 3 ], [ 'd', 5 ], [ 'g', 8 ] ]
obj.sort((a,b)=>b[1]-a[1]) // [ [ 'g', 8 ], [ 'a', 6 ], [ 'd', 5 ], [ 'b', 4 ], [ 'c', 3 ] ]
console.log(obj[0][1]); // 8