我试图将javascript对象分解为小数组,这样我就可以在需要时轻松访问内层数据。
我使用递归函数来访问json中的所有节点,使用程序
我在这里要做的是,我想将它们存储到一个单独的数组中,以便我像
一样访问它newArray.Microsoft= MSFT, Microsoft;
newArray.Intel Corp=(INTC, Fortune 500);
newArray.Japan=Japan
newArray.Bernanke=Bernanke;
每个数组的深度都不同,因此单个级别的深度可以使用与示例Bernanke中显示的相同的名称。有可能这样做吗?
答案 0 :(得分: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;
}
要获取单级数据,您可以在if:
之后添加此else语句 else
map[current] = [ current ]; // create Array manually
Altough我认为结果(demo)没有多大意义。