改进这个数组数据模型

时间:2011-11-08 17:47:21

标签: javascript arrays

我目前正在制作一个标记数组中的cordenades的小脚本:

var paises = ['spain','australia'];
var leftX   = ['270','575'];
var topY    = ['60','220'];

当我需要访问它们时:

clase = 'spain';
var left_ = leftX[paises.indexOf(clase)];
var top_ = topY[paises.indexOf(clase)];

这可能让我的同事更新感到困惑。我怎么能让它变得更容易?

3 个答案:

答案 0 :(得分:4)

var places = {
    "spain":  {
         leftx: '270',
         topY: '60'
    },
    "australia":  {
         leftx: '575',
         topY: '220'
    }
}

//Then:
clase = 'spain';
var left_ = places[clase].leftX;
var top_ = places[clase].topY;

答案 1 :(得分:3)

我会在对象结构中这样做:

var paises = {
    spain: { leftX: 270, topY: 60 },
    // etc
}

然后它更容易访问,您不必担心.indexOf()支持(这在旧的IE版本中不可用):

clase = 'spain';
var left_ = paises[clase].leftX;
var top_ = paises[clase].topY;

答案 2 :(得分:3)

我会使用javascript对象

var paises =  { spain: {leftX: 270, topY: 60}, australia: { leftX: 575, topY: 220};

paises.spain.leftX; // 270
// or
paises["spain"].leftX; // 270
// or
paises['spain']['leftX']; // 270

因此,在传统的JavaScript庄园中,有许多选项可以访问数据。