ES8/ES2017 中的 Object.values 和 Object.entries 实现可迭代对象

在 ES8/ES2017 中,JavaScript 引入了两个新的方法 Object.values 和 Object.entries,它们可以方便地将对象转换为数组,并且可以实现可迭代对象,使得我们能够更方便地对对象进行遍历和操作。

Object.values

Object.values 方法可以将对象的值转换为数组。它接受一个对象作为参数,返回一个包含该对象所有可枚举属性的值的数组。

Object.values 可以很方便地将对象的值转换为数组,这在我们需要对对象进行遍历或者操作时非常有用。

Object.entries

Object.entries 方法可以将对象转换为数组,其中每个元素都是一个包含键值对的数组。它接受一个对象作为参数,返回一个包含该对象所有可枚举属性的键值对数组。

Object.entries 可以很方便地将对象转换为数组,并且每个元素都是一个包含键值对的数组。这在我们需要对对象进行遍历或者操作时非常有用。

实现可迭代对象

在 JavaScript 中,如果一个对象实现了 Symbol.iterator 方法,那么它就是可迭代的。可迭代对象可以使用 for...of 循环进行遍历。

我们可以使用 Object.entries 方法来实现一个可迭代对象,它可以将对象转换为一个包含键值对的数组,并且实现 Symbol.iterator 方法,使得我们可以使用 for...of 循环遍历该对象。

上面的代码中,我们先使用 Object.entries 方法将对象转换为一个包含键值对的数组,然后实现 Symbol.iterator 方法,使用生成器函数 yield* 来迭代该数组。

总结

ES8/ES2017 中的 Object.values 和 Object.entries 方法可以方便地将对象转换为数组,并且实现可迭代对象,使得我们能够更方便地对对象进行遍历和操作。我们可以使用 Object.entries 方法来实现一个可迭代对象,使得我们可以使用 for...of 循环遍历该对象。这些新特性为我们的开发带来了很大的便利,让我们更加高效地编写代码。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/656059fcd2f5e1655da88f16


纠错
反馈