find.js 575 B

12345678910111213141516171819202122232425
  1. var isFunction = require('../type/is-function');
  2. var isPlainObject = require('../type/is-plain-object');
  3. var isMatch = require('../object/is-match');
  4. function find(arr, predicate) {
  5. var _predicate = void 0;
  6. if (isFunction(predicate)) {
  7. _predicate = predicate;
  8. }
  9. if (isPlainObject(predicate)) {
  10. _predicate = function _predicate(a) {
  11. return isMatch(a, predicate);
  12. };
  13. }
  14. if (_predicate) {
  15. for (var i = 0; i < arr.length; i += 1) {
  16. if (_predicate(arr[i])) {
  17. return arr[i];
  18. }
  19. }
  20. }
  21. return null;
  22. }
  23. module.exports = find;