有没有办法找到嵌套对象的 属性 的兄弟值?

Is there a way to find the sibling value of a nested object's property?

这是我的结构:

var obj = {
  apple: {
     name: "Apple Juice",
     description: "",
  },
  orange: {
     name: "Orange Juice",
     description: "",
  }
}

我想在不使用父项 (obj.apple.description)

的情况下通过名称查找 appleorange 的描述

是否有类似 obj.apple.name.siblingProperty 的东西可以使用 name 获取 description 的值?

可以遍历对象键,在那个对象中找到name的索引,然后获取下一个索引得到description:

var obj = {
  apple: {
     name: "Apple Juice",
     description: "",
  },
  orange: {
     name: "Orange Juice",
     description: "",
  }
}

function getNextKey(object, key) {
  var keys = Object.keys(object);
  var keyIndex = keys.indexOf(key);
  var nextKey = keys[keyIndex + 1];
  console.log(nextKey + ": " + object[nextKey]);
}

getNextKey(obj.apple, "name");
getNextKey(obj.orange, "name");

你应该在你的对象上使用代理,在处理程序中只使用 get 函数,那是 it.now 你可以做任何你想做的事。这是我的代码

const obj = {
    apple: {
        name: 'Apple Juice',
        description: 'apple selected',
    },
    orange: {
        name: 'Orange Juice',
        description: 'orange selected',
    },
};

const handler = {
    get: function (target, prop, receiver) {
        return target[prop].description;
    },
};

const proxy = new Proxy(obj, handler);

console.log(proxy.apple);
console.log(proxy.orange);