查找首个匹配键

JavaScriptJavaScriptBeginner
立即练习

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

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

简介

在这个实验中,我们将探索一个名为 findKey 的 JavaScript 函数的实现。这个函数旨在帮助我们在一个对象中找到第一个满足提供的测试函数的键。通过使用 Object.keys()Array.prototype.find(),我们可以有效地遍历对象的属性并返回所需的键。


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/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28302{{"查找首个匹配键"}} javascript/data_types -.-> lab-28302{{"查找首个匹配键"}} javascript/arith_ops -.-> lab-28302{{"查找首个匹配键"}} javascript/comp_ops -.-> lab-28302{{"查找首个匹配键"}} javascript/array_methods -.-> lab-28302{{"查找首个匹配键"}} javascript/destr_assign -.-> lab-28302{{"查找首个匹配键"}} end

查找与测试匹配的首个键的函数

要在对象中查找与给定测试函数匹配的首个键,请使用 findKey() 函数。首先,使用 Object.keys() 获取对象的所有属性。然后,使用 Array.prototype.find() 将测试函数应用于每个键值对。测试函数应接受三个参数:值、键和对象。如果找到满足测试函数的首个键,则该函数返回该键;如果未找到,则返回 undefined

以下是 findKey() 的一个示例实现:

const findKey = (obj, fn) =>
  Object.keys(obj).find((key) => fn(obj[key], key, obj));

要使用 findKey(),请将对象和测试函数作为参数传入:

findKey(
  {
    barney: { age: 36, active: true },
    fred: { age: 40, active: false },
    pebbles: { age: 1, active: true }
  },
  (x) => x["active"]
); // 'barney'

在此示例中,findKey() 返回对象中 active 属性值为 true 的首个键,即 'barney'

总结

恭喜你!你已经完成了“查找首个匹配键”实验。你可以在 LabEx 中练习更多实验来提升你的技能。