Giter VIP home page Giter VIP logo

object-tools's Introduction

view on npm npm module downloads per month Build Status Dependency Status Coverage Status js-standard-style

object-tools

Useful functions for working with objects

Example

var o = require("object-tools")

o.extend(...object) ⇒ object

Merge a list of objects, left to right, into one - to a maximum depth of 10.

Kind: static method of object-tools

Param Type Description
...object object a sequence of object instances to be extended

Example

> o.extend({ one: 1, three: 3 }, { one: "one", two: 2 }, { four: 4 })
{ one: 'one',
  three: 3,
  two: 2,
  four: 4 }

o.clone(input) ⇒ object | array

Clones an object or array

Kind: static method of object-tools

Param Type Description
input object | array the input to clone

Example

> date = new Date()
Fri May 09 2014 13:54:34 GMT+0200 (CEST)
> o.clone(date)
{}  // a Date instance doesn't own any properties
> date.clive = "hater"
'hater'
> o.clone(date)
{ clive: 'hater' }
> array = [1,2,3]
[ 1, 2, 3 ]
> newArray = o.clone(array)
[ 1, 2, 3 ]
> array === newArray
false

o.every(object, iterator) ⇒ boolean

Returns true if the supplied iterator function returns true for every property in the object

Kind: static method of object-tools

Param Type Description
object object the object to inspect
iterator function the iterator function to run against each key/value pair, the args are (value, key).

Example

> function aboveTen(input){ return input > 10; }
> o.every({ eggs: 12, carrots: 30, peas: 100 }, aboveTen)
true
> o.every({ eggs: 6, carrots: 30, peas: 100 }, aboveTen)
false

o.each(object, callback)

Runs the iterator function against every key/value pair in the input object

Kind: static method of object-tools

Param Type Description
object object the object to iterate
callback function the iterator function to run against each key/value pair, the args are (value, key).

Example

> var total = 0
> function addToTotal(n){ total += n; }
> o.each({ eggs: 3, celery: 2, carrots: 1 }, addToTotal)
> total
6

o.exists(object, query) ⇒ boolean

returns true if the key/value pairs in query also exist identically in object. Also supports RegExp values in query. If the query property begins with ! then test is negated.

Kind: static method of object-tools

Param Type Description
object object the object to examine
query object the key/value pairs to look for

Example

> o.exists({ a: 1, b: 2}, {a: 0})
false
> o.exists({ a: 1, b: 2}, {a: 1})
true
> o.exists({ a: 1, b: 2}, {"!a": 1})
false
> o.exists({ name: "clive hater" }, { name: /clive/ })
true
> o.exists({ name: "clive hater" }, { "!name": /ian/ })
true
> o.exists({ a: 1}, { a: function(n){ return n > 0; } })
true
> o.exists({ a: 1}, { a: function(n){ return n > 1; } })
false

o.without(object, toRemove) ⇒ object

Returns a clone of the object minus the specified properties. See also select.

Kind: static method of object-tools

Param Type Description
object object the input object
toRemove string | Array.<string> a single property, or array of properties to omit

Example

> o.without({ a: 1, b: 2, c: 3}, "b")
{ a: 1, c: 3 }
> o.without({ a: 1, b: 2, c: 3}, ["b", "a"])
{ c: 3 }

o.where(object, query) ⇒ object

Returns a new object containing the key/value pairs which satisfy the query

Kind: static method of object-tools
Since: 1.2.0

Param Type Description
object object The input object
query Array.<string> | function Either an array of property names, or a function. The function is called with (value, key) and must return true to be included in the output.

Example

> object = { a: 1, b: 0, c: 2 }
{ a: 1, b: 0, c: 2 }
> o.where(object, function(value, key){
      return value > 0
  })
{ a: 1, c: 2 }
> o.where(object, [ "b" ])
{ b: 0 }
> object
{ a: 1, b: 0, c: 2 }

o.extract(object, query) ⇒ object

identical to o.where(object, query) with one exception - the found properties are removed from the input object

Kind: static method of object-tools
Since: 1.2.0

Param Type Description
object object The input object
query Array.<string> | function Either an array of property names, or a function. The function is called with (value, key) and must return true to be included in the output.

Example

> object = { a: 1, b: 0, c: 2 }
{ a: 1, b: 0, c: 2 }
> o.where(object, function(value, key){
      return value > 0
  })
{ a: 1, c: 2 }
> object
{ b: 0 }

o.select(object, fields) ⇒ object

Returns a new object containing only the selected fields. See also without.

Kind: static method of object-tools

Param Type Description
object object the input object
fields string | array a list of fields to return

o.get(object, expression) ⇒ *

Returns the value at the given property.

Kind: static method of object-tools
Since: 1.4.0

Param Type Description
object object the input object
expression string the property accessor expression

© 2015 Lloyd Brookes <[email protected]>. Documented by jsdoc-to-markdown.

object-tools's People

Contributors

75lb avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.