array-indexof-object

1.0.11 • Public • Published

Quick

npm install array-indexof-object
var oai = require('array-indexof-object')
var arr = [  {"a":"1","b":"2"}, {"a":"5","b":"2"},
             {"a":"1","b":"2"},
             {"b":"7"},{"a":"3","b":"7"}]
 
oai.firstIndexOf(arr, { "a": "5", "b": "2" }) //Return => 1
 
oai.allIndexesOf(arr, { "a": "1" })//Return => [0,2]
 
oai.lastIndexOf(arr, { "a": "1" }) //Return => 2
 
oai.nthIndexOf(arr, { "b": "7" }, 2) //Return => 4

About

A utility which implements well known,

  • firstIndexOf

  • allIndexsOf

  • lastIndexOf

  • nthIndexOf

functionality for an object array.

npm version npm Build Status Code Climate

Syntax

1) firstIndexOf (array, obj, optional : matchedBy )
2) allIndexesOf (array, obj, optional : matchedBy )
3) lastIndexOf (array, obj, optional : matchedBy )
4) nthIndexOf (array, obj, n ,optional : matchedBy )

* matchedBy => Refer 'selective match' section below

Features

Full match

All properties of the parameter object, is matched with objects in array to find matching obejects. This is the default behaviour.

Selective match

Only a set of properties of the parameter object, is matched with objects in array to find matching obejects. This property set could be given in optional 'matchedBy' array argument.

Examples

var aio = require('array-indexof-object')
//object array
var arr = [ 
    {
        "a":"1",
        "b":"2"
    },
    {
        "a":"5",
        "b":"2"
    },
    {
        "a":"1",
        "b":"2"
    },
    {
        "b":"7"
    },
    {
        "a":"3",
        "b":"7"
    }
   ]
 
// firstIndexOf 
aio.firstIndexOf(arr, { "a": "5", "b": "2" })
//Return => 1
aio.firstIndexOf(arr, { "a": "1" })
//Return => 0
aio.firstIndexOf(arr, { "b": "8" }) 
//Return => -1
 
// allIndexesOf 
aio.allIndexesOf(arr, { "a": "5", "b": "2" }) 
//Return => [1]
aio.allIndexesOf(arr, { "a": "1" })
//Return => [0,2]
aio.allIndexesOf(arr, { "b": "8" }) 
//Return => []
 
// lastIndexOf 
aio.lastIndexOf(arr, { "a": "5", "b": "2" })
//Return => 1
aio.lastIndexOf(arr, { "a": "1" })
//Return => 2
aio.lastIndexOf(arr, { "b": "8" }) 
//Return => -1
 
// nthIndexOf 
// scan the array for {"b","7"} object.
// return the index when the object is found for the 2nd time
aio.nthIndexOf(arr, { "b": "7" }, 2)
//Return => 4
 
//Example Selective match
//match only the property "b" of object { "a": "5", "b": "2" }, with objects in array.
//return the index, when matched
aio.firstIndexOf(arr, { "a": "5", "b": "2" }, ["b"])
//Result=> 0 . 
//this is equalant to  => aio.firstIndexOf(arr, { "b": "2"})
 

Package Sidebar

Install

npm i array-indexof-object

Weekly Downloads

5

Version

1.0.11

License

MIT

Last publish

Collaborators

  • dim912