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