957939f2ba224a8808c06f60de686a1c6289894d
[platform/framework/web/crosswalk-tizen.git] /
1 'use strict';
2
3 var callable = require('../../../object/valid-callable')
4   , value    = require('../../../object/valid-value')
5
6   , some = Array.prototype.some, apply = Function.prototype.apply;
7
8 module.exports = function (predicate/*, thisArg*/) {
9         var k, self;
10         self = Object(value(this));
11         callable(predicate);
12
13         return some.call(self, function (value, index) {
14                 if (apply.call(predicate, this, arguments)) {
15                         k = index;
16                         return true;
17                 }
18                 return false;
19         }, arguments[1]) ? k : -1;
20 };