我有一些具有一些属性的对象,例如'value'和'label'。
array.join(' ')
当然给了我“[object] [object]”,但我需要得到一个由空格分隔的所有对象的'value'属性字符串。
执行此操作的最短方法是什么,如果不编写for循环,这是否可行?
答案 0 :(得分:25)
尝试使用未使用的jQuery.map() - Array.map(),因为IE< 9支持
对于JSON.stringify() - 使用json2获取旧浏览器支持
$.map(array, function(obj){return JSON.stringify(obj)}).join(' ')
更新:获取值属性
var string = $.map(array, function(obj){
return obj.value
}).join(' ');
演示:Fiddle
答案 1 :(得分:3)
使用Array.map
:
let data = [
{
"animal": "cat",
"name": "Fluffy"
},
{
"animal": "dog",
"name": "Bowser"
},
{
"animal": "cat",
"name": "Felix"
}
]
现在使用.map
提取名称:
let names = data.map(item => item.name)
let nameString = names.join(' ')
现在nameString
包含Fluffy Bowser Felix
。