Объединить массив объектов, используя одно свойство

У меня есть массив объектов с несколькими свойствами, такими как "значение" и "метка".

array.join(' '), конечно, дает мне "[object] [object]", но вместо этого мне нужно получить строку свойств "value" всех объектов, разделенных пробелом.

Каков самый короткий способ сделать это, и возможно ли это без написания цикла for?

Ответ 1

Попробуйте использовать 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

Ответ 2

Используйте 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.