Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
master
Go to file
#1503)

There has been a LOT of confusion by RxJS users when they find the RxJS v4 docs and not v5 docs. This is to get rid of that confusion. Also updated the readme to no longer say v5 is beta, v6 will be beta pretty soon. ;)
9 contributors

Users who have contributed to this file

@mattpodwysocki @L8D @jinroh @mmv @red-starter @38elements @jca02266 @mixed @benlesh
96 lines (78 sloc) 3.29 KB

This is RxJS v 4. Find the latest version here

Rx.Observable.prototype.distinctUntilChanged([keySelector], [comparer])

Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer.

Arguments

  1. [keySelector] (Function): A function to compute the comparison key for each element. If not provided, it projects the value.
  2. [comparer] (Function): Equality comparer for computed key values. If not provided, defaults to an equality comparer function.

Returns

(Observable): An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence.

Example

/* Without key selector */
var source = Rx.Observable.of(42, 42, 24, 24)
  .distinctUntilChanged();

var subscription = source.subscribe(
  function (x) {
    console.log('Next: %s', x);
  },
  function (err) {
    console.log('Error: %s', err);
  },
  function () {
    console.log('Completed');
  });

// => Next: 42
// => Next: 24
// => Completed

/* With key selector */
var source = Rx.Observable.of({value: 42}, {value: 42}, {value: 24}, {value: 24})
  .distinctUntilChanged(function (x) { return x.value; });

var subscription = source.subscribe(
    function (x) {
        console.log('Next: ' + x.toString());
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    });

// => Next: { value: 42 }
// => Next: { value: 24 }
// => Completed

/* With comparer */
var source = Rx.Observable.of({value: 42}, {value: 42}, {value: 24}, {value: 24})
  .distinctUntilChanged(function (x) { return x.value; }, function (a,b) { return a !== b; });

var subscription = source.subscribe(
    function (x) {
        console.dir('Next: ' + x.toString());
    },
    function (err) {
        console.log('Error: ' + err);
    },
    function () {
        console.log('Completed');
    });

// => Next: { value: 42 }
// => Next: { value: 42 }
// => Completed

Location

File:

Dist:

NPM Packages:

NuGet Packages:

Unit Tests:

You can’t perform that action at this time.