【问题标题】:Join JSON Object member string values together将 JSON 对象成员字符串值连接在一起
【发布时间】:2012-08-16 03:35:19
【问题描述】:
"category": [{
      "id": 28,
      "name": "Dogs"
  },
  {
      "id": 14,
      "name": "Cats"
  },
  {
      "id": 878,
      "name": "Sheep"
  }],

我已经解析了上面的 JSON(使用 .ajax 和 jsonp 作为回调),我想将“name”的所有值加入一个字符串。即“狗、猫、羊”。我怎样才能做到这一点?我尝试过简单加入“类别”和名称,即

var cats = categories.join(", ");

var cats = categories.name.join(", ");

但是由于我们正在查看它的成员及其字符串值,所以它不起作用。

【问题讨论】:

    标签: javascript jquery json jsonp


    【解决方案1】:

    这看起来像是 $.map 的工作!

    var data = {
        "category": [{
              "id": 28,
              "name": "Dogs"
          },
          {
              "id": 14,
              "name": "Cats"
          },
          {
              "id": 878,
              "name": "Sheep"
          }]
    }
    
    var cats = $.map(data.category, function(v){
        return v.name;
    }).join(', ');
    

    【讨论】:

    • 谢谢,您的回复帮助了我。我使用了缩写语法:$.map(data.category, (v)=>{return v.name}).join(', ');
    【解决方案2】:
    var text = "";
    for(var i=0; category.length; i++)
    {
       text += category[i].name;
       if(i!=category.length-1)
           text += ", ";
    }
    

    【讨论】:

      【解决方案3】:

      更简单、更短的版本:

      const category = [{
            "id": 28,
            "name": "Dogs"
        },
        {
            "id": 14,
            "name": "Cats"
        },
        {
            "id": 878,
            "name": "Sheep"
        }]
      
      let cats = category.map((item) => {
                   return item.name;
                 }).join(", ");
      

      在第一部分,map 函数将返回一个字符串数组,其内容为item.name

      [ "Dogs", "Cats", "Sheep" ]
      

      由于在数组上我们可以调用join,这会将数组中的所有项目放在一起,但由我们传递给join的任何内容分隔(在这种情况下,我们有", ",它将用逗号分隔和一个空格)

      最后我们有:

      Dogs, Cats, Sheep
      

      【讨论】:

      • 请对您的代码进行一些解释
      猜你喜欢
      • 1970-01-01
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 2020-06-03
      • 1970-01-01
      • 2021-10-26
      • 1970-01-01
      • 2012-09-28
      相关资源
      最近更新 更多