ES8新增特性(Object的values和entries获取)

152 阅读1分钟

Object.values

之前(在ES5中)我们可以通过 Object.keys 获取一个对象所有的key,在ES8中提供了 Object.values 来获取所有的value值。

代码案例

const obj = {
  name:'harry',
  age:21
}

//ES5就有的 
console.log(Object.keys(obj)); //[ 'name', 'age' ]

//ES8新增的
// console.log(Object.values(obj)); /[ 'harry', 21 ]

//也可以应用在数组和字符上
console.log(Object.values(["aaa","cccc"])); //[ 'aaa', 'cccc' ]
console.log(Object.values("abc")); //[ 'a', 'b', 'c' ]

Object.entries

通过Object.entries 可以获取到一个数组,数组中会存放可枚举属性的键值对数组。

const obj = {
  name:'harry',
  age:18
}

console.log(Object.entries(obj)); //[ [ 'name', 'harry' ], [ 'age', 18 ] ]
const objEntries = Object.entries(obj)
objEntries.forEach(item => {
  console.log(item[0],item[1]);//name harry
                               //age 21
})

console.log(Object.entries(["abc","cba"])); //[ [ '0', 'abc' ], [ '1', 'cba' ] ]