gpt4 book ai didi

javascript - 在函数中调用对象

转载 作者:行者123 更新时间:2023-12-01 03:20:24 24 4
gpt4 key购买 nike

我正在处理以下代码:

 function price ([arg1,arg2]) {
let city1 = {coffee:0.5, water:0.8, beer:1.2, sweets:1.45, peanuts:1.6};
let city2 = {coffee:0.4, water:0.9, beer:1.4, sweets:1.25, peanuts:1.8};
console.log (arg1[arg2]);
}

price (["city1","water"])

我在这里想要实现的是,当您调用带有城市名称和产品的函数时,列出特定产品的价格。

据我所知,这是因为“city1”以字符串形式获取输入,这就是为什么我在调用该函数时没有得到任何结果。有什么想法如何将 arg1 输入从字符串转换为对象吗?

我研究了使用 window 和 eval,但我无法找到一种方法在这个中正确使用它们。我知道这是一个愚蠢的问题,而且我可能遗漏了一些明显的东西,但我几乎尝试了我能想到的一切。

最佳答案

重新考虑一下你如何使用这些对象。通过使用方括号表示法而不是点表示法来访问对象属性,您可以传递字符串,这对于获取事先未知的值很有帮助。下面是一个示例,但请注意,您还应该检查该属性是否确实存在。

还值得一提的是,您不应该将参数作为这样的数组传递。要么直接传递它们,要么使用对象。

function price (city, item) {
let cities = {
city1 : {coffee:0.5, water:0.8, beer:1.2, sweets:1.45, peanuts:1.6},
city2 : {coffee:0.4, water:0.9, beer:1.4, sweets:1.25, peanuts:1.8}
}
let res = cities[city][item]
console.log(res)
return res;
}

price ("city1", "water")

关于javascript - 在函数中调用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45257585/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com