ECMAScript 2017 (ES8) 中 Object.values() 和 Object.entries() 方法的使用

阅读时长 4 分钟读完

ECMAScript 2017(ES8)引入了两个新的 Object 对象方法 Object.values() 和 Object.entries()。这两个方法可以让我们更高效地处理对象的键值对数据,提高编程效率,减少代码冗余。本文将会详细介绍它们的使用,以及建议的最佳实践。

Object.values()方法

Object.values() 方法和 Object.keys() 方法类似,但是不同的是,它返回的是一个对象自身可枚举属性的值的数组,而不是属性名的数组。可以看下面的示例:

如果对象不是可枚举的,Object.values() 方法会返回一个空数组。如果传入的参数不是对象,会抛出一个 TypeError。在实际开发中,Object.values() 方法非常实用,可以帮助我们轻松地将对象的值转换为数组。

Object.entries()方法

Object.entries() 方法返回一个由对象自身可枚举属性的键值对组成的数组。数组中的每一个元素都是一个数组,包含两个元素,第一个元素是属性名,第二个元素是属性值。 如下所示:

Object.entries() 方法与 Object.keys() 和 Object.values() 方法一样,也不会返回对象自身的不可枚举属性。如果传入的参数不是对象,同样会抛出一个 TypeError。Object.entries() 方法在实际开发中常常用来遍历对象的属性。

最佳实践

  1. 对象的键值对数据的处理

使用 Object.values() 方法可以很容易地将对象的值转换为数组。例如,我们可以通过下面的方法获取对象中的所有属性值:

同样,我们也可以通过 Object.entries() 方法获取键值对数组,然后通过数组的遍历来访问数组中的元素:

  1. 复制对象

Object.create() 方法可以让我们基于一个原型对象创建一个新的对象。但是,Object.create() 方法只能复制原型对象的属性,而不能复制对象本身的属性。因此,在一些场景下,我们需要通过 Object.assign() 方法复制对象,并使用 Object.entries() 方法获得对象的键值对数组。下面是一个简单的示例:

总结

Object.values() 和 Object.entries() 方法是 ECMAScript 2017(ES8)引入的新方法,可以帮助我们更快捷和高效地处理对象的键值对数据。使用这两个方法,我们可以轻松地将对象的值转换为数组,遍历对象的属性,复制对象的属性等,让我们的开发过程更加轻松和高效。因此,在实际开发中,我们应该熟练掌握 Object.values() 和 Object.entries() 方法的使用,善加利用它们对我们的开发工作带来的便利。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64733100968c7c53b00b046c

纠错
反馈