根据动态数据获取对象键值

3
console.log(x, obj.fares) //return undefined

输出

adultFare
Object {adultFare: "9.00", childFare: null, seniorCitizenFare: null, disabledFare: null,}

我该如何获取adultDare的值?我需要循环键吗?我期望obj.fares.x能够获取9.00,因为x的值是adultFare。

如果adultFare存储在一个变量中,使用obj[someVariable];否则只需使用obj.adultFare - Satpal
我肯定能帮忙,但我不认为我理解这个问题。obj.fares是对象。obj.fares.adultFare === "9.00" - Mic
啊,你想要obj.fares[x]。 - Mic
2个回答

0
为什么不直接这样写:
console.log(obj.fares[x]);

var obj = {"fares":{adultFare: "9.00", childFare: null, seniorCitizenFare: null, disabledFare: null}},
    x = "adultFare";

document.querySelector('pre').innerHTML = obj.fares[x];
<pre></pre>


@Jennifer,您必须使用括号表示法。请查看更新和演示。 - Jai
现在我知道何时使用方括号表示法和点表示法了!还有其他不同的用例吗? - Jennifer

-1

我认为应该是 obj.adultFare

尝试使用 lodash,它有一些非常好的函数。

如果您正在尝试获取adultfare中实际的值,也可以尝试pluck

_.pluck(collection, path)

Pluck将返回数组中所有成人票价,因此如果您将单个数组传递给它,它将为您提供一个票价。

文档中有示例。


哦,没有更简单的解决方案吗? - Jennifer
为简单操作添加依赖项似乎有些过度,这有点像建议每个人在进行DOM操作时都使用Jquery,而有时这是完全不必要的。 - Mic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接