【问题标题】:Pass a parameter in a return array [duplicate]在返回数组中传递参数[重复]
【发布时间】:2019-10-24 14:42:11
【问题描述】:

我需要退货。

GetBooking = function (parameter) {
    return Booking.Title[0].parameter;
 }

GetPages = function () {
    return GetBooking(pages) 
 }

GetNumber = function () {
    return GetBooking(number) 
 }

booking是一个数组对象,可以吗?

【问题讨论】:

  • 这是一个……奇怪的范式,也是一个更奇怪的命名方案。我会完全重新考虑这个设计,否则你会武断地让你自己和这段代码的未来维护者变得非常困难。
  • 有点不清楚。但是,您可能需要bracket notation 而不是dot notationBooking.Title[0][parameter]

标签: javascript arrays object


【解决方案1】:

如果我理解正确,在执行GetBooking(pages) 时,您希望得到Booking.Title[0].pages 的回报,这意味着GetBooking() 函数应该像中间人一样决定您想从Booking.Title[0] 获得哪个属性。

如果我是对的,那么你几乎是对的。在您的代码中会发生什么,例如,如果 number 为 7,它将在 Booking.Title[0] 中查找名为 7 的属性。

您真正想要做的是:return Booking.Title[0][parameter]parameter 必须是代表您正在寻找的属性的字符串值,这意味着您还需要更改最终看起来的其余代码像这样:

GetBooking = function (parameter) {
    return Booking.Title[0][parameter];
 }

GetPages = function () {
    return GetBooking("pages") ;
 }

GetNumber = function () {
    return GetBooking("number") ;
 }

这将获取parameter 中的字符串,并在Booking.Title[0] 中查找与该字符串匹配的属性,并返回其值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 1970-01-01
    • 2013-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多