【问题标题】:Return subset of object using jQuery CSV使用 jQuery CSV 返回对象的子集
【发布时间】:2015-03-22 09:31:06
【问题描述】:

我正在使用jQuery CSV 在我的网络服务器上解析一个 .csv 文件。我已经使用带有附加字段(通用名称、大写字母、国家代码等)的国家/地区列表的演示文件来实现这一点。

从那里,我使用在这里找到的查找函数:Jquery how to find an Object by attribute in an Array 从解析的文件中返回匹配的对象。

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

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

我卡住的地方是我想显示来自国家/地区对象的这些数据的子集。例如,我只想显示 Common Name、Capital 和 Country Code。

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

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

【问题讨论】:

    标签: jquery object subset slice jquery-csv


    【解决方案1】:

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

    这是我的工作代码,它只获取通用名称和大写字母,然后将其附加到带有国家名称和 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/>"
        );
    });
    

    我的html:

    <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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-11
      • 2023-03-24
      • 2012-10-14
      • 2012-03-31
      • 1970-01-01
      • 2012-08-11
      • 1970-01-01
      相关资源
      最近更新 更多