区域,国家,城市从Javascript中的CSV排序

时间:2011-05-19 07:22:46

标签: javascript jquery arrays csv

我有一个平面的CSV文件,我需要阅读,最后有3个区域,国家,城市的选择框。

我正在使用jQuery加载csv文件,并使用jQuery Csv插件将csv文件作为数组返回。

我已遍历数组并构建了一系列国家/地区,但现在我正在努力将城市添加到数组中。什么结构最好?理想情况下,我只想循环遍历csv一次,最后得到一个嵌套数组,其中包含区域,然后是十个城市。

这是关联数组的情况吗?

感谢您的帮助。

伊恩。

1 个答案:

答案 0 :(得分:1)

是的,关联数组就可以了,就像这样:

var data = [
    ['europe', 'belgium', 'brussels'],
    ['europe', 'france', 'paris'],
    ['europe', 'france', 'lyon'],
    ['americas', 'usa', 'washington'],
    ['americas', 'usa', 'new-york'],
    ['americas', 'chile', 'santiago']
];

var tree = {},
    l = data.length,
    region, country;
while(l--){
    region = data[l][0];
    country = data[l][1];
    tree[region] = tree[region] || {};
    tree[region][country] = tree[region][country] || [];
    tree[region][country].push( data[l][2] );
}
console.log(tree);