首页 > 解决方案 > 从 JavaScript 中选定键之前的键中获取值

问题描述

给定以下对象:

let test = {x: "a", y: "b"}

是否可以"a"仅通过信息获得价值"y"

例如,我知道我可以"b"通过获取值,test["y"]但是否可以通过仅使用“y”以某种方式获取值“a”?

类似于伪代码的东西test["y" - 1]

我试过 test.getIndex("y") 所以我可以从中减去 1 但这似乎是不可能的。好奇这是否可行!

标签: javascriptobject

解决方案


这是可能的,但真的很奇怪。如果您发现自己需要这样的东西,请强烈考虑使用不同的数据结构。

获取对象的键,在该数组中找到您感兴趣的键的索引,然后导航到数组中的前一个键以获取其关联值。

let test = {x: "a", y: "b"};

const keys = Object.keys(test);
const index = keys.indexOf('y');
console.log(test[keys[index - 1]]);

通常,您不应该依赖对象属性顺序 - 不是因为它不能保证(它是),而是因为它会导致不直观的代码。


推荐阅读