Function

mapBy (dependentKey, propertyKey) ComputedProperty public

Module: @ember/object
import { mapBy } from '@ember/object/computed';
dependentKey
String
propertyKey
String
returns
ComputedProperty
an array mapped to the specified key

Returns an array mapped to the specified key.

Example:

import { set } from '@ember/object';
import { mapBy } from '@ember/object/computed';

class Person {
  children = [];

  @mapBy('children', 'age') childAges;
}

let lordByron = new Person();

lordByron.childAges; // []

set(lordByron, 'children', [
  {
    name: 'Augusta Ada Byron',
    age: 7
  }
]);
lordByron.childAges; // [7]

set(lordByron, 'children', [
  ...lordByron.children,
  {
    name: 'Allegra Byron',
    age: 5
  }, {
    name: 'Elizabeth Medora Leigh',
    age: 8
  }
]);
lordByron.childAges; // [7, 5, 8]

Classic Class Example:

import EmberObject, { set } from '@ember/object';
import { mapBy } from '@ember/object/computed';

let Person = EmberObject.extend({
  childAges: mapBy('children', 'age')
});

let lordByron = Person.create({ children: [] });

lordByron.childAges; // []

set(lordByron, 'children', [
  {
    name: 'Augusta Ada Byron',
    age: 7
  }
]);
lordByron.childAges; // [7]

set(lordByron, 'children', [
  ...lordByron.children,
  {
    name: 'Allegra Byron',
    age: 5
  }, {
    name: 'Elizabeth Medora Leigh',
    age: 8
  }
]);
lordByron.childAges; // [7, 5, 8]

© 2020 Yehuda Katz, Tom Dale and Ember.js contributors
Licensed under the MIT License.
https://api.emberjs.com/ember/3.25/functions/@ember%2Fobject%2Fcomputed/mapBy