首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JavaScript:如何按子对象值获取父对象键?

在JavaScript中,要按子对象值获取父对象键,可以使用以下方法:

方法一:使用for...in循环遍历父对象的属性,然后通过判断子对象的属性值是否与给定的值相等来获取父对象的键。

代码语言:txt
复制
function getParentKeyByValue(obj, value) {
  for (var key in obj) {
    if (obj.hasOwnProperty(key)) {
      if (obj[key] === value) {
        return key;
      }
    }
  }
  return null;
}

// 示例用法
var parentObj = {
  key1: { subKey: 'value1' },
  key2: { subKey: 'value2' },
  key3: { subKey: 'value3' }
};

var valueToFind = 'value2';
var parentKey = getParentKeyByValue(parentObj, valueToFind);
console.log(parentKey); // 输出:key2

方法二:使用ES6的Object.entries()方法将父对象转换为键值对数组,然后使用Array.prototype.find()方法在数组中查找匹配子对象值的项,最后返回对应的键。

代码语言:txt
复制
function getParentKeyByValue(obj, value) {
  return Object.entries(obj).find(([key, childObj]) => childObj.subKey === value)?.[0] || null;
}

// 示例用法
var parentObj = {
  key1: { subKey: 'value1' },
  key2: { subKey: 'value2' },
  key3: { subKey: 'value3' }
};

var valueToFind = 'value2';
var parentKey = getParentKeyByValue(parentObj, valueToFind);
console.log(parentKey); // 输出:key2

以上两种方法都可以根据子对象的值获取父对象的键。使用这些方法,您可以轻松地在JavaScript中按子对象值获取父对象键。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券