将对象转换为可迭代键值对

JavaScriptJavaScriptBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,我们将探索一个名为 toPairs 的 JavaScript 函数,它会从一个对象或其他可迭代对象创建一个键值对数组的数组。通过这个实验,我们将学习如何使用这个函数将各种数据结构转换为更易于操作和访问的格式。我们还将更深入地理解 JavaScript 中的迭代器和可迭代对象的概念。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("`JavaScript`")) -.-> javascript/BasicConceptsGroup(["`Basic Concepts`"]) javascript(("`JavaScript`")) -.-> javascript/AdvancedConceptsGroup(["`Advanced Concepts`"]) javascript/BasicConceptsGroup -.-> javascript/variables("`Variables`") javascript/BasicConceptsGroup -.-> javascript/data_types("`Data Types`") javascript/BasicConceptsGroup -.-> javascript/arith_ops("`Arithmetic Operators`") javascript/BasicConceptsGroup -.-> javascript/comp_ops("`Comparison Operators`") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("`Destructuring Assignment`") subgraph Lab Skills javascript/variables -.-> lab-28655{{"`将对象转换为可迭代键值对`"}} javascript/data_types -.-> lab-28655{{"`将对象转换为可迭代键值对`"}} javascript/arith_ops -.-> lab-28655{{"`将对象转换为可迭代键值对`"}} javascript/comp_ops -.-> lab-28655{{"`将对象转换为可迭代键值对`"}} javascript/destr_assign -.-> lab-28655{{"`将对象转换为可迭代键值对`"}} end

将对象转换为键值对

要将对象转换为键值对数组,请使用 toPairs 函数。要开始编码,请打开终端/SSH 并输入 node

toPairs 函数的工作方式如下:

  • 首先,它检查给定的可迭代对象是否定义了 Symbol.iterator
  • 如果定义了 Symbol.iterator,它会使用 Array.prototype.entries() 获取对象的迭代器,然后使用 Array.from() 将结果转换为键值对数组的数组。
  • 如果对象未定义 Symbol.iterator,则改为使用 Object.entries()

以下是 toPairs 函数的代码:

const toPairs = (obj) =>
  obj[Symbol.iterator] instanceof Function && obj.entries instanceof Function
    ? Array.from(obj.entries())
    : Object.entries(obj);

你可以将 toPairs 函数与各种类型的对象一起使用,例如:

toPairs({ a: 1, b: 2 }); // [['a', 1], ['b', 2]]
toPairs([2, 4, 8]); // [[0, 2], [1, 4], [2, 8]]
toPairs("shy"); // [['0','s'], ['1', 'h'], ['2', 'y']]
toPairs(new Set(["a", "b", "c", "a"])); // [['a', 'a'], ['b', 'b'], ['c', 'c']]

总结

恭喜你!你已经完成了“对象转键值对”实验。你可以在 LabEx 中练习更多实验来提升你的技能。

您可能感兴趣的其他 JavaScript 教程