Permalink
Please sign in to comment.
Browse files
make first() and last() work for objects as well as lists
- Loading branch information...
@@ -1,3 +1,11 @@ | ||
-module.exports = function first(arr) { | ||
- return arr ? arr[0] : null | ||
+var isList = require('./isList') | ||
+var keys = require('./keys') | ||
+ | ||
+module.exports = function first(obj) { | ||
+ if (!obj) { return null } | ||
+ if (isList(obj)) { | ||
+ return obj[0] | ||
+ } else { | ||
+ return obj[keys(obj)[0]] | ||
+ } | ||
} |
@@ -1,6 +1,11 @@ | ||
-var isArray = require('./isArray') | ||
+var isList = require('./isList') | ||
+var keys = require('./keys') | ||
-module.exports = function(arr) { | ||
- if (!isArray(arr)) { return null } | ||
- return arr[arr.length - 1] | ||
-} | ||
+module.exports = function(obj) { | ||
+ if (!obj) { return null } | ||
+ if (isList(obj)) { | ||
+ return obj[obj.length - 1] | ||
+ } else { | ||
+ return obj[last(keys(obj))] | ||
+ } | ||
+} |
0 comments on commit
c37766e