5
"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(", ");

ただし、メンバーとその文字列値を確認しているため、機能しません。

4

3 に答える 3

12

これは仕事のようです$.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(', ');
于 2012-08-20T19:37:28.183 に答える
1
var text = "";
for(var i=0; category.length; i++)
{
   text += category[i].name;
   if(i!=category.length-1)
       text += ", ";
}
于 2012-08-20T19:33:29.300 に答える
1

よりシンプルで短いバージョン:

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
于 2021-08-02T06:05:18.950 に答える