0

我正在尝试将 javascript 对象分解为小数组,以便我可以在需要时轻松访问内部数据。

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

http://jsfiddle.net/SvMUN/1/

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

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

每个数组的深度是不同的,所以单层的可以使用相同的名称,就像我在伯南克的例子中展示的那样。有可能这样做吗?

4

1 回答 1

1

不,您将其简化Facets为一个名为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;
}

jsfiddle.net 上的演示

要获取一级数据,您可以在 if 之后添加此 else 语句:

            else
                map[current] = [ current ]; // create Array manually

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

于 2012-07-26T10:53:45.580 回答