使用 jQuery CSV 返回对象的子集



我正在使用jQuery CSV来解析我的Web服务器上的.csv文件。我使用演示文件进行了工作,其中包含带有附加字段(通用名称、首都、国家/地区代码等)的国家/地区列表。

从那里,我正在使用在这里找到的查找函数:Jquery 如何在数组中按属性查找对象,以从解析的文件返回匹配的对象。

这是我到目前为止的代码:

jQuery(document).ready(function($){                         
    $.ajax({
       type: "GET",
       url: "path/countrylist.csv",
       dataType: "text",
       success: function(data) {
       var data = $.csv.toObjects(data);
       console.log(data);
       var country = lookup(data, "Common Name", "Albania");
       $.each(country, function(i, val) {
           $("#albania").append(i + ": " + val + "<br/>");
       });
     });
  });

这将返回我在 id 为"#albania"的div 中显示的"阿尔巴尼亚"对象:

Sort Order: 2
Common Name: Albania
Formal Name: Republic of Albania
Type: Independent State
Sub Type: 
Sovereignty: 
Capital: Tirana
ISO 4217 Currency Code: ALL
ISO 4217 Currency Name: Lek
ITU-T Telephone Code: 355
ISO 3166-1 2 Letter Code: AL
ISO 3166-1 3 Letter Code: ALB
ISO 3166-1 Number: 8
IANA Country Code TLD: .al

我卡住的地方是我想显示来自国家/地区对象的此数据的子集。例如,我只想显示公用名、大写字母和国家/地区代码。

假设每个国家/地区的这些键/标题行相同,我如何只显示这些值? jQuery .slice() 不起作用,也许是因为这是一个对象而不是一个数组(?)。

我可以按键/标题行名称选择子集吗?这可能是另一种选择,因为这些不会改变。

这解决了。我需要使用 $.each() 和点表示法来定位对象中的特定键。

这是我的工作代码,它只获取公用名和大写字母,然后将其附加到带有国家/地区名称 and id 的div 中:

$.each( data, function( i, v ) {
var name = v.Common_Name.toLowerCase();
var country = v.Common_Name;
var capital = v.Capital;
    $("#" + name).append(
        "Name" + ": " + country + "<br/>" 
               + "Capital" + ": " + capital + "<br/>"
    );
});

我的网页:

<div class="countries clearfix">
    <div id="afghanistan" class="country"></div>
    <div id="albania" class="country"></div>
    <div id="algeria" class="country"></div>
    <div id="andorra" class="country"></div>
</div>

结果:

Name: Afghanistan
Capital: Kabul
Name: Albania
Capital: Tirana
Name: Algeria
Capital: Algiers
Name: Andorra
Capital: Andorra la Vella

相关内容

  • 没有找到相关文章

最新更新