Function

Module: @ember/object
propertyKey
String
returns
ComputedProperty
computes a new array with all the unique elements from one or more dependent arrays.

A computed property which returns a new array with all the unique elements from one or more dependent arrays.

Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { set } from '@ember/object';
import { union } from '@ember/object/computed';

class Hamster {
  constructor(fruits, vegetables) {
    set(this, 'fruits', fruits);
    set(this, 'vegetables', vegetables);
  }

  @union('fruits', 'vegetables') ediblePlants;
});

let hamster = new, Hamster(
  [
    'banana',
    'grape',
    'kale',
    'banana',
    'tomato'
  ],
  [
    'tomato',
    'carrot',
    'lettuce'
  ]
);

hamster.uniqueFruits; // ['banana', 'grape', 'kale', 'tomato', 'carrot', 'lettuce']

Classic Class Example:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import EmberObject from '@ember/object';
import { union } from '@ember/object/computed';

let Hamster = EmberObject.extend({
  uniqueFruits: union('fruits', 'vegetables')
});

let hamster = Hamster.create({
  fruits: [
    'banana',
    'grape',
    'kale',
    'banana',
    'tomato'
  ],
  vegetables: [
    'tomato',
    'carrot',
    'lettuce'
  ]
});

hamster.uniqueFruits; // ['banana', 'grape', 'kale', 'tomato', 'carrot', 'lettuce']