浏览代码

added object helper methods

mightyplow 8 年之前
父节点
当前提交
2fe9b9fa90
共有 1 个文件被更改,包括 19 次插入0 次删除
  1. 19 0
      lib/object.js

+ 19 - 0
lib/object.js

@@ -9,5 +9,24 @@ module.exports = {
                 obj[key] = values[key]
             }
         })
+    },
+
+    forEach: (obj, callback) => {
+        Object.keys(obj).forEach(key => {
+            callback(key, obj[key])
+        })
+    },
+
+    reduce: (obj, fnReduce, startValue) => {
+        return Object.keys(obj).reduce((acc, key) => {
+            return fnReduce.call(null, acc, key, obj[key])
+        }, startValue)
+    },
+
+    map: (obj, fnMap) => {
+        return Object.keys(obj).reduce((mapped, key) => {
+            mapped[key] = fnMap(obj[key], key)
+            return mapped
+        }, {})
     }
 }