helperCreateiterateIndexOf.js 632 B

123456789101112131415161718192021222324
  1. var isFunction = require('./isFunction')
  2. var isString = require('./isString')
  3. var isArray = require('./isArray')
  4. var hasOwnProp = require('./hasOwnProp')
  5. function helperCreateiterateIndexOf (callback) {
  6. return function (obj, iterate, context) {
  7. if (obj && isFunction(iterate)) {
  8. if (isArray(obj) || isString(obj)) {
  9. return callback(obj, iterate, context)
  10. }
  11. for (var key in obj) {
  12. if (hasOwnProp(obj, key)) {
  13. if (iterate.call(context, obj[key], key, obj)) {
  14. return key
  15. }
  16. }
  17. }
  18. }
  19. return -1
  20. }
  21. }
  22. module.exports = helperCreateiterateIndexOf