2013-03-25 73 views
0

我正在与JavaScript数据结构战斗。我需要创建一个映射,其中的键是一个字符串,并且该值是一个包含两个long的数组。Map with String key where value是Javascript中long对的数组吗?

例如,像:

var x = myMap["SomeString"]; 

var firstLong = x[0][0]; 
var secondLong = x[0][1]; 

// do something with first and second long 

firstLong = x[1][0]; 
secondLong = x[1][1]; 

// do something with first and second long 

etc.. 

如何能正确我在Javascript中实现这一目标?

+0

什么你的意思是“长”吗? – VisioN 2013-03-25 12:33:10

+0

可以包含时间戳的东西(自时代以来的毫秒数) – JVerstry 2013-03-25 12:33:52

+0

@JVerstry http://en.wikipedia.org/wiki/JSON有更多信息 – rab 2013-03-25 12:45:54

回答

1

所以,为了与多维数组工作,你需要先“定义”的尺寸,即

var myMap = {}; 
myMap["SomeString"] = []; 

myMap["SomeString"][0] = []; // new dimension 
myMap["SomeString"][0][0] = 1; // can be also done with 
myMap["SomeString"][0][1] = 2; // myMap["SomeString"][0].push(2); 

myMap["SomeString"][1] = []; // new dimension 
myMap["SomeString"][1][0] = 3; 
myMap["SomeString"][1][1] = 4; 

这也可以用文字来完成:

var myMap = { 
    SomeString: [ 
     [1, 2], 
     [3, 4] 
    ] 
}; 

console.log(myMap["SomeString"][0][1]); // 2 
1

javascript中的字典等效数据结构是基本的JavaScript对象。你可以尝试

var myMap = { 

    SomeString : [ 
     [1,2], 
     [32222,44444] 
    ] 
} 

和打印他们

0

假设你实际上并不意味着一个二维数组;

var myMap = {}; 
myMap["SomeString"] = [123, 456]; 

alert(myMap["SomeString"][0]); 
alert(myMap["SomeString"][1]); 
+0

是的,返回的数组是int/long对的数组 – JVerstry 2013-03-25 12:39:48

相关问题