2016-03-04 82 views
-2

我要創建JavaScript數組以下陣列結構,以及不知道如何使用循環創建此結構...如何使用JavaScript創建

var optionsKeys = [key1,key2,key3,...,keyN]; 
 
doc1[req.params.key][key1][key2][key3]...[keyN] = data;

我曾嘗試這種方法...不行...

if (optionKeys.length > 0) { 
 
    for (var i = 0; i < optionKeys.length; ++i) { 
 
\t \t temp[optionKeys[i]] = {}; 
 
\t } 
 
}

回答

0

我假設你var temp = doc1[req.params.key]

初始化temp第一次迭代後,你將有doc1[req.params.key][key1]。但在第二次迭代之後,您將擁有doc1[req.params.key][key1]doc1[req.params.key][key2],這不是您想要的。

您可以更新temp變量指向doc1[req.params.key][key1],這樣下一次迭代就會產生所需的效果。

更一般地,它看起來就像這樣:

temp[optionKeys[i]] = {}; 
temp = temp[optionKeys[i]];