helperCreateIndexOf.js 570 B

1234567891011121314151617181920212223242526
  1. var isArray = require('./isArray')
  2. var isString = require('./isString')
  3. var hasOwnProp = require('./hasOwnProp')
  4. function helperCreateIndexOf (name, callback) {
  5. return function (obj, val) {
  6. if (obj) {
  7. if (obj[name]) {
  8. return obj[name](val)
  9. }
  10. if (isString(obj) || isArray(obj)) {
  11. return callback(obj, val)
  12. }
  13. for (var key in obj) {
  14. if (hasOwnProp(obj, key)) {
  15. if (val === obj[key]) {
  16. return key
  17. }
  18. }
  19. }
  20. }
  21. return -1
  22. }
  23. }
  24. module.exports = helperCreateIndexOf