Javascript:将类似表的数据结构作为数组数组还是其他?

Javascript:将类似表的数据结构作为数组数组还是其他?,javascript,arrays,Javascript,Arrays,我想用Javascript创建一个类似于表的数据结构。该表的名称为“Positions”。你可以把它看作是一个常数,就像结构一样。一行由两项组成,即“0.2”、“0.4” 作为初稿,我想创建一个数组数组,但我得到了一些错误,我正在寻找的keyElement不存在。我的错误在哪里。此外,我认为可能还有其他一些最佳实践可以创建这样的数据结构 // Positionsarray - Name ist eine Konstante var POSITIONS = new Array(); POSITI

我想用Javascript创建一个类似于表的数据结构。该表的名称为“Positions”。你可以把它看作是一个常数,就像结构一样。一行由两项组成,即“0.2”、“0.4”

作为初稿,我想创建一个数组数组,但我得到了一些错误,我正在寻找的keyElement不存在。我的错误在哪里。此外,我认为可能还有其他一些最佳实践可以创建这样的数据结构

// Positionsarray - Name ist eine Konstante 
var POSITIONS = new Array();
POSITIONS['BG_LEFT_OPEN']    = new Array(0.10, 0.40);       // center 0.25
POSITIONS['BG_RIGHT_OPEN']   = new Array(-0.10, -0.40);     // center - 0.25
POSITIONS['BG_LEFT_CLOSE']   = new Array(0.25, 0.25);   
POSITIONS['BG_RIGHT_CLOSE']  = new Array(-0.25, -0.25);
POSITIONS['BG_CENTER_CLOSE'] = new Array(0.00, 0,00);
//var distance = 0.15;
function jobaOpen(geoArray, constPositionArrayKey){
    console.log("jobaOpen() - constPositionArrayKey : " + constPositionArrayKey);
    var posArray = POSITIONS[constPositionArrayKey];
    var posValueRight = posArray[0];
    var posValueLeft = posArray[1]; 
    ...
更新:我尝试使用对象文字符号-仍然是相同的错误:未定义变量位置

// Positionsarray - Name ist eine Konstante 
var positions = { // Object Literal Notation
        "BG_RIGHT_OPEN" : [-0.10, -0.40],
        "BG_LEFT_OPEN" : [0.10, 0.40],
        "BG_LEFT_CLOSE": [0.25, 0.25],
        "BG_RIGHT_CLOSE" : [-0.25, -0.25],
        "BG_CENTER_CLOSE" : [0.0, 0.0]
};
//var distance = 0.15;
function jobaOpen(geoArray, constPositionArrayKey){ 
    console.log("jobaOpen() - constPositionArrayKey : " + constPositionArrayKey);
    switch(constPositionArrayKey) {
    case "BG_RIGHT_OPEN": // zentral oben geschlossen
        var posArray = positions["BG_RIGHT_OPEN"];
        var posValueRight = posArray[0];
        var posValueLeft = posArray[1];
        break;
    case "BG_LEFT_OPEN": // rechts oben geschlossen
        var posArray = positions["BG_LEFT_OPEN"];
        var posValueRight = posArray[0];
        var posValueLeft = posArray[1];
        break;
    case "BG_LEFT_CLOSE": // Rechts unten geschlossen
        var posArray = positions["BG_LEFT_CLOSE"];
        var posValueRight = posArray[0];
        var posValueLeft = posArray[1];
        break;
    case "BG_RIGHT_CLOSE": // rechts unten offen
        var posArray = positions["BG_RIGHT_CLOSE"];
        var posValueRight = posArray[0];
        var posValueLeft = posArray[1];
        break;
    case "BG_CENTER_CLOSE": // links oben geschlossen
        var posArray = positions.BG_CENTER_CLOSE;
        var posValueRight = posArray[0];
        var posValueLeft = posArray[1];
        break;
    default:
        console.log('default');
    } ...

在JS中,不能将文本作为数组键(如PHP中的关联数组),只能使用数字。不过,您可以做的是将位置创建为对象,然后使用上面的代码,为每个位置创建属性,这些属性可以是数组

e、 g

然后,您可以通过

POSITIONS['BG_CENTER_CLOSE'] 


您发布的代码中没有
keyElement
。请包含引发错误的代码,并包含实际的错误消息。数组在javascript中不具有关联性,请停止像对待数组那样对待它们。此错误发生在哪一行?我在代码中没有看到
位置
变量。
POSITIONS['BG_CENTER_CLOSE'] 
POSITIONS.BG_CENTER_CLOSE