在空字典中初始化一个空字典 - Javascript

时间:2018-04-13 04:11:59

标签: javascript php dictionary

我想用php代码将变量(dict)传递给服务器。变量是字典中的字典和字典内的字典。

在Swift和Java中,我可以这样编写

斯威夫特:var pageDict = [String: [String: [String: Int]]]()

Java:Map<String, Map<String, Map<String, Integer>>> pageDict = new HashMap<>();

修改

如果我在Javascript [[[]]]中初始化类似这样的字典,我会收到此错误

<b>Warning</b>:  array_keys() expects parameter 1 to be array, null given in <b>test.php</b> on line <b>166</b><br />
<br />
<b>Warning</b>:  in_array() expects parameter 2 to be array, null given in <b>test.php</b> on line <b>166</b><br />
<br />

第166行(服务器代码)

line165 function getExistData($pageDict, $location) {
line166     return in_array($location, array_keys($pageDict)) ? $pageDict[$location] : array();
line167 }

如果我尝试这样做,var pageDict = {"____": {"____": {"____": 1}}};一切都运作良好。但这绝对不是一个完美的方法

想知道如何在Javascript中完成它?

1 个答案:

答案 0 :(得分:0)

您可以使用以下结构存储3级多图。

var mapLevel1 = new Object(); // innermost map
mapLevel1[String1] = Int1;
mapLevel1[String2] = Int2;

var mapLevel2 = new Object(); 
mapLevel2[String3] = map1;

var mapLevel3 = new Object(); //outermost map
mapLevel3[String3] = map2;

编辑:根据@CertainPerformance的建议,在将数据传递给服务器之前,使用JSON.stringify转换为字符串。