diff --git a/README.md b/README.md
index de6c09279..714a6cc00 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# lodash v3.7.3
+# lodash v3.7.4
The [lodash](https://lodash.com/) library exported as [npm packages](https://www.npmjs.com/browse/keyword/lodash-modularized) per method.
diff --git a/lodash.set/README.md b/lodash.set/README.md
index 857d19b25..9d3bf9fdd 100644
--- a/lodash.set/README.md
+++ b/lodash.set/README.md
@@ -1,4 +1,4 @@
-# lodash.set v3.7.3
+# lodash.set v3.7.4
The [modern build](https://github.com/lodash/lodash/wiki/Build-Differences) of [lodash’s](https://lodash.com/) `_.set` exported as a [Node.js](http://nodejs.org/)/[io.js](https://iojs.org/) module.
@@ -17,4 +17,4 @@ In Node.js/io.js:
var set = require('lodash.set');
```
-See the [documentation](https://lodash.com/docs#set) or [package source](https://github.com/lodash/lodash/blob/3.7.3-npm-packages/lodash.set) for more details.
+See the [documentation](https://lodash.com/docs#set) or [package source](https://github.com/lodash/lodash/blob/3.7.4-npm-packages/lodash.set) for more details.
diff --git a/lodash.set/index.js b/lodash.set/index.js
index 154792cd3..ca29c627f 100644
--- a/lodash.set/index.js
+++ b/lodash.set/index.js
@@ -1,5 +1,5 @@
/**
- * lodash 3.7.3 (Custom Build)
+ * lodash 3.7.4 (Custom Build)
* Build: `lodash modern modularize exports="npm" -o ./`
* Copyright 2012-2015 The Dojo Foundation
* Based on Underscore.js 1.8.3
@@ -13,8 +13,11 @@ var toPath = require('lodash._topath'),
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\n\\]|\\.)*?\1)\]/,
reIsPlainProp = /^\w*$/;
+/** Used to detect unsigned integer values. */
+var reIsUint = /^\d+$/;
+
/**
- * Used as the [maximum length](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.max_safe_integer)
+ * Used as the [maximum length](http://ecma-international.org/ecma-262/6.0/#sec-number.max_safe_integer)
* of an array-like value.
*/
var MAX_SAFE_INTEGER = 9007199254740991;
@@ -28,7 +31,7 @@ var MAX_SAFE_INTEGER = 9007199254740991;
* @returns {boolean} Returns `true` if `value` is a valid index, else `false`.
*/
function isIndex(value, length) {
- value = typeof value == 'number' ? value : parseFloat(value);
+ value = (typeof value == 'number' || reIsUint.test(value)) ? +value : -1;
length = length == null ? MAX_SAFE_INTEGER : length;
return value > -1 && value % 1 == 0 && value < length;
}
@@ -93,7 +96,7 @@ function isObject(value) {
/**
* Sets the property value of `path` on `object`. If a portion of `path`
- * does not exist it is created.
+ * does not exist it's created.
*
* @static
* @memberOf _
diff --git a/lodash.set/package.json b/lodash.set/package.json
index ab2b47010..a0ad49e49 100644
--- a/lodash.set/package.json
+++ b/lodash.set/package.json
@@ -1,6 +1,6 @@
{
"name": "lodash.set",
- "version": "3.7.3",
+ "version": "3.7.4",
"description": "The modern build of lodash’s `_.set` as a module.",
"homepage": "https://lodash.com/",
"icon": "https://lodash.com/icon.svg",