aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/array/#/first-index.js
blob: 19bff54194685f093f42f5a066e7fada83ac3765 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"use strict";

var toPosInt          = require("../../number/to-pos-integer")
  , value             = require("../../object/valid-value")
  , objHasOwnProperty = Object.prototype.hasOwnProperty;

module.exports = function () {
	var i, length;
	if (!(length = toPosInt(value(this).length))) return null;
	i = 0;
	while (!objHasOwnProperty.call(this, i)) {
		if (++i === length) return null;
	}
	return i;
};