aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/array/#/last-index.js
blob: 74aaba46c4aae16ffa00a898abdc8f031670dcbe (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 = length - 1;
	while (!objHasOwnProperty.call(this, i)) {
		if (--i === -1) return null;
	}
	return i;
};