📜  Object.values 和 Object.entries 方法之间的区别(1)

📅  最后修改于: 2023-12-03 15:03:20.895000             🧑  作者: Mango

Object.values 和 Object.entries 方法之间的区别

在 JavaScript 中,我们经常需要迭代对象的属性,以便执行某些操作。为此,我们可以使用 Object.keys() 方法来获取对象属性的键数组,然后使用 for 循环或 forEach() 方法来迭代它们。ES2017 引入了两个新方法,即 Object.values() 和 Object.entries() ,以进一步简化该过程。

Object.values()

Object.values() 返回一个对象自身可枚举属性的值数组,并按照属性插入顺序排序。

const student = {
  name: 'Alice',
  age: 20,
  grade: 'A'
};

const values = Object.values(student);
console.log(values); // ['Alice', 20, 'A']
Object.entries()

Object.entries() 返回一个包含对象自身可枚举属性键值对的数组。数组中每个键值对都表示为 [key, value] 形式的数组。

const student = {
  name: 'Alice',
  age: 20,
  grade: 'A'
};

const entries = Object.entries(student);
console.log(entries); // [['name', 'Alice'], ['age', 20], ['grade', 'A']]

由此看来,两个方法都很有用。Object.values() 返回一个包含对象属性值的数组,然而 Object.entries() 返回一个包含键值对的数组,并且操作起来更加灵活。