Javascript 将元素排列到哈希数组中

Javascript 将元素排列到哈希数组中,javascript,arrays,json,recursion,hash,Javascript,Arrays,Json,Recursion,Hash,我试图将一个javascript对象拆分为一个小数组,以便在需要时可以轻松访问innerlevel数据 我使用递归函数访问json中的所有节点,使用该程序 我在这里试图做的是,我想将这些存储到一个单独的数组中,以便像这样访问它 newArray.Microsoft= MSFT, Microsoft; newArray.Intel Corp=(INTC, Fortune 500); newArray.Japan=Japan newArray.Bernanke=Bernanke; 每个数组的深度

我试图将一个javascript对象拆分为一个小数组,以便在需要时可以轻松访问innerlevel数据

我使用递归函数访问json中的所有节点,使用该程序

我在这里试图做的是,我想将这些存储到一个单独的数组中,以便像这样访问它

newArray.Microsoft= MSFT, Microsoft;
newArray.Intel Corp=(INTC, Fortune 500);
newArray.Japan=Japan
newArray.Bernanke=Bernanke;

每个数组的深度都不同,所以具有单个级别的数组可以使用相同的名称,如我在示例中所示。可以这样做吗?

不,您可以将
方面减少为一个名为
html
的字符串,但您需要一个对象

function generateList(facets) {
    var map = {};
    (function recurse(arr) {
        var join = [];
        for (var i=0; i<arr.length; i++) {
            var current = arr[i].term; // every object must have one!
            current = current.replace(/ /g, "_");
            join.push(current);  // only on lowest level?
            if (current in arr[i]) 
                map[current] = recurse(arr[i][current]);
        }
        return join;
    })(facets)
    return map;
}

尽管我认为结果()没有多大意义。

计数应该怎么办?新创建的数组中不需要计数。。只需针对
“CentralBankRelated”
要求术语s
“OnelevelTestData”
与方案不匹配。你确定这是正确的数据吗?如果是,会发生什么?对不起…那是个错误。。。我更新了它。我在想一些类似{“微软”:[“微软”,“微软”,“英特尔公司”:[(国际贸易公司,财富500强],“德国”:[“德国],“日本”:[“日本],“伯南克”:[“伯南克”],“美联储”:[“美联储”],“美联储”:[“美联储”]}这可能吗?因为对于oneLevelTestData,深度是不同的,但这意味着
oneLevelTestData
是不同的模式?我认为不应该将它们混合在一起。是的。深度是不同的,所以如果它是唯一的一个级别,那么也可以在数组中添加相同的数据。如果可能的话,它真的很有用。我知道结果没有多大意义..bt我可以使用此结果访问相关数据..我还有一个疑问,在我们的输出中,如果我们发出警报(test.Microsoft);它会给出undefined而不是两个ANSWR“MSFT”,“Microsoft”之类的测试。Microsoft[0]=MSFT和test.Microsoft[1]=Microsoft…为什么会这样?
            else
                map[current] = [ current ]; // create Array manually