4.17.11
3.10.1
2.4.2
1.3.1

_.cond(pairs)

Creates a function that iterates over pairs and invokes the corresponding function of the first predicate to return truthy. The predicate-function pairs are invoked with the this binding and arguments of the created function.

Since

4.0.0

Arguments

argument
pairs
type
Array
description
The predicate-function pairs.

Returns

(array)

Example

var func = _.cond([
  [
    _.matches({ a: 1 }),
    _.constant("matches A"),
  ],
  [
    _.conforms({ b: _.isNumber }),
    _.constant("matches B"),
  ],
  [_.stubTrue, _.constant("no match")],
]);

func({ a: 1, b: 2 });
// => 'matches A'

func({ a: 0, b: 1 });
// => 'matches B'

func({ a: "1", b: "2" });
// => 'no match'
var func = _.cond([
  [_.matches({ a: 1 }), _.constant("matches A")],
  [_.conforms({ b: _.isNumber }), _.constant("matches B")],
  [_.stubTrue, _.constant("no match")],
]);

func({ a: 1, b: 2 });
// => 'matches A'

func({ a: 0, b: 1 });
// => 'matches B'

func({ a: "1", b: "2" });
// => 'no match'