Ensure _.isFinite returns false for non-numeric strings. [closes #98]

Former-commit-id: 2505c8d7d9a0ab1e5f669730c318efdc9232799b
This commit is contained in:
John-David Dalton
2012-10-30 21:36:53 -07:00
parent dfec6d9a6d
commit c6093c084c
2 changed files with 23 additions and 1 deletions

View File

@@ -89,6 +89,7 @@
var nativeBind = reNative.test(nativeBind = slice.bind) && nativeBind,
nativeIsArray = reNative.test(nativeIsArray = Array.isArray) && nativeIsArray,
nativeIsFinite = window.isFinite,
nativeIsNaN = window.isNaN,
nativeKeys = reNative.test(nativeKeys = Object.keys) && nativeKeys,
nativeMax = Math.max,
nativeMin = Math.min,
@@ -1337,7 +1338,7 @@
* // => false
*/
function isFinite(value) {
return nativeIsFinite(value ? +value : parseFloat(value));
return nativeIsFinite(value) && !nativeIsNaN(parseFloat(value));
}
/**