"category": [{
"id": 28,
"name": "Dogs"
},
{
"id": 14,
"name": "Cats"
},
{
"id": 878,
"name": "Sheep"
}],
我解析了上面的JSON(使用.ajax和jsonp作为回调),我想将“name”的所有值加入到字符串中。即“狗,猫,羊”。我怎样才能做到这一点?我尝试过简单加入“类别”和名称,即
var cats = categories.join(", ");
OR
var cats = categories.name.join(", ");
但是因为我们正在查看它的成员及其字符串值,所以它不起作用。
答案 0 :(得分:11)
这看起来像$.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(', ');
答案 1 :(得分:1)
var text = "";
for(var i=0; category.length; i++)
{
text += category[i].name;
if(i!=category.length-1)
text += ", ";
}
答案 2 :(得分:0)
更简单、更短的版本:
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