4.17.11
3.10.1
2.4.2
1.3.1

_.findKey(object, [predicate=_.identity])

This method is like _.find except that it returns the key of the first element predicate returns truthy for instead of the element itself.

Since

1.1.0

Arguments

argument
object
[predicate=_.identity]
type
Object
Function
description
The object to inspect.
The function invoked per iteration.

Returns

(array)

Example

var users = {
  barney: { age: 36, active: true },
  fred: { age: 40, active: false },
  pebbles: { age: 1, active: true },
};

_.findKey(users, function (o) {
  return o.age < 40;
});
// => 'barney' (iteration order is not guaranteed)

// The `_.matches` iteratee shorthand.
_.findKey(users, {
  age: 1,
  active: true,
});
// => 'pebbles'

// The `_.matchesProperty` iteratee shorthand.
_.findKey(users, ["active", false]);
// => 'fred'

// The `_.property` iteratee shorthand.
_.findKey(users, "active");
// => 'barney'
var users = {
  barney: { age: 36, active: true },
  fred: { age: 40, active: false },
  pebbles: { age: 1, active: true },
};

_.findKey(users, function (o) {
  return o.age < 40;
});
// => 'barney' (iteration order is not guaranteed)

// The `_.matches` iteratee shorthand.
_.findKey(users, { age: 1, active: true });
// => 'pebbles'

// The `_.matchesProperty` iteratee shorthand.
_.findKey(users, ["active", false]);
// => 'fred'

// The `_.property` iteratee shorthand.
_.findKey(users, "active");
// => 'barney'