Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including object-extended with all npm packages installed. Try it out:

var objectExtended = require("object-extended")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

object-extended v0.0.7

Additional object extensions with a chainable api

Build Status

browser support


object-extended is a Javascript library that can be used standalone or incorporated into extended

var obj = require("object-extended");


var myextended = require("extended")


npm install object-extended

Or download the source (minified)



merges the properties of one object into another.

Note This method changes the original object.

obj.merge({}, {a : "a"}, {b : "b"}, {c : "c"}); //{a : "a", b : "b", c : "c"});


Merges properties into a function prototype or delegates to merge.

var MyObj = function () {
MyObj.prototype.test = true;
object.extend(MyObj, {test2: false, test3: "hello", test4: "world"});

var myOjb = new MyObj();
myObj.test2; //false
myObj.test3; //"hello"
myObj.test4; //"world"


Merges objects together only overriding properties that are different.

Note: this function takes a variable number of objects to merge

var myObj = {my : {cool : {property1 : 1, property2 : 2}}};
obj.deepMerge(myObj, {my : {cool : {property3 : 3}}});; // 1; // 2; // 3


var myObj = {my : {cool : {property1 : 1, property2 : 2}}};
obj(myObj).deepMerge({my : {cool : {property3 : 3}}});; // 1; // 2; // 3


Loops through each k/v in a hash.

var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).forEach(function(value, key){
    console.log(value, key);

obj.hash.forEach(myObj, function(value, key){
   console.log(value, key);


Filters out key/value pairs in an object. Filters out key/value pairs that return a falsey value from the iterator.

var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).filter(function(value, key){
    return value == "b" || key === "e";
}); //{a : "b", e : "f"};

obj.hash.filter(myObj, function(value, key){
   return value == "b" || key === "e";
}); //{a : "b", e : "f"};


Returns the values of a hash.

var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).values(); //["b", "d", "f"]

obj.values(myObj); //["b", "d", "f"]

hash.keys Returns the keys of a hash.

var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).keys(); //["a", "c", "e"]

obj.keys(myObj); //["b", "d", "f"]


Returns a new hash that is the invert of the hash.

var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).invert(); //{b : "a", d : "c", f : "e"}

obj.hash.invert(myObj); //{b : "a", d : "c", f : "e"}


Returns a new hash that is the with the given keys omitted.

var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).omit("e"); //{a : "b", c : "d"}
obj(myObj).omit(["c", "e"]); //{a : "b"}

obj.hash.omit(myObj, "e"); //{a : "b", c : "d"}
obj.hash.omit(myObj, ["c", "e"]); //{a : "b"}


Converts a hash to an array.

var myObj = {a : "b", c : "d", e : "f"};
obj(myObj).toArray(); //[["a", "b"], ["c", "d"], ["e", "f"]]

obj.hash.toArray(myObj); //[["a", "b"], ["c", "d"], ["e", "f"]]


RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free