pluck()

The pluck method retrieves all of the values for a given key:

const collection = collect([
  {
    id: 78,
    name: "Aeron"
  },
  {
    id: 79,
    name: "Embody"
  }
]);

const plucked = collection.pluck("name");

plucked.all();

//=> ['Aeron', 'Embody']

You may also specify how you wish the resulting collection to be keyed:

const collection = collect([
  {
    id: 78,
    name: "Aeron"
  },
  {
    id: 79,
    name: "Embody"
  }
]);

const plucked = collection.pluck("name", "id");

plucked.all();

//=> {
//=>   78: 'Aeron',
//=>   79: 'Embody',
//=> }

You can use "dot notation" to access nested values

const collection = collect([
  {
    name: "John",
    roles: [
      {
        name: "Editor"
      },
      {
        name: "Admin"
      }
    ]
  }
]);

const plucked = collection.pluck("roles.0.name");

plucked.all();

//=> ['Editor']

"Dot notation" supports "wildcard"

const collection = collect([
  {
    name: "John",
    roles: [
      {
        name: "Editor"
      },
      {
        name: "Admin"
      }
    ]
  }
]);

const plucked = collection.pluck("roles.*.name");

plucked.all();

//=> [
//=>   [
//=>     'Editor',
//=>     'Admin',
//=>   ],
//=> ]

View source on GitHub