0

我有个问题,

我在 Javascript 中有一个如下所示的数组:

var plans = [{
'advanced':[{
    'price':'10',
    'name':'Advanced'
    }],
'basic':[{
    'price':'20',
    'name':'Basic'
    }]
}];

还有一个名为plan的变量,它可以是高级的或基本的等。现在我想显示与变量plan对应的数组中的价格。我如何获得价格?

我试过这样的事情:

  • 计划.高级.价格
  • 计划['高级']['价格']
  • 计划[0].advanced['0'].price
  • 计划[0]['高级']['0']['价格']

PS:我本来是一个PHP开发者,可能我的PHP影响挡住了正确的思路,我不知道...

4

2 回答 2

5

像这样访问它:plans[0].advanced[0].price

不过,这是错误的做法;只需使用 JavaScript 对象:

var plans = {
    advanced: {
        price: '10',
        name: 'Advanced'
    },
    basic: {
        price: '20',
        name:' Basic'
    }
};

然后您可以使用 访问它plans.advanced.price,这更清楚。

请注意,这与 JavaScriptplans.advanced.price中的相同plans['advanced']['price'],没有区别。

JavaScript 中的数组只是被美化的对象——因此在 JavaScript 中没有“关联数组”之类的东西,对象执行与 PHP 中的关联数组相同的事情。

于 2013-11-04T02:34:15.323 回答
2

您有一些额外的数组杂物,其中有包含一个项目的数组,而不仅仅是包含对象。

var plans = {
   advanced: {
     price: '10',
     name: 'Advanced'
   },
   basic: {
     price: '20',
     name:' Basic'
   }
};

如果你有var plan ="advanced"你可以做plans[plan].price

如果您需要带有数组的当前结构,那么它本质上是一样的,但是

var plan ="advanced"

plans[0][plan][0].price

希望有帮助

于 2013-11-04T02:51:56.247 回答