使用一个属性连接对象数组

时间:2013-08-25 15:03:40

标签: javascript jquery

我有一些具有一些属性的对象,例如'value'和'label'。

array.join(' ')当然给了我“[object] [object]”,但我需要得到一个由空格分隔的所有对象的'value'属性字符串。

执行此操作的最短方法是什么,如果不编写for循环,这是否可行?

2 个答案:

答案 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