Package detail

simple-array-diff

kushal-likhi3.3kISC1.1.0

Find elements added and removed explicitly between two arrays or elements or objects.

Array, Difference, Diff, Delta

readme

Array Difference

Find elements added and removed explicitly between two arrays or elements or objects.

npm install simple-array-diff --save

Usage

//Require the module
var  arrayDiff = require('simple-array-diff');

//Use it
var result = arrayDiff(<Original Array>, <Updated Array>, [Optional 'key' of prop to consider as unique field in case of array of objects]);

result.added //Array of elements added in updated array
result.removed //Array of elements removed in updated array
result.common //Array of elements which are also present in updated array. Common elements in both arrays.

Examples

There are two use cases:

CASE 1: Difference based on element values.

CASE 2: Difference based on any key in the element of array. (Array of Objects).

CASE 1: Difference based on element values

var  arrayDiff = require('simple-array-diff');
var result = arrayDiff(
    [1, 2, 3, 4, 5, 6],
    [1, 2, 4, 5, 6, 0, 9, 10]
);
console.log(result);
OUTPUT:
{ added: [ 0, 9, 10 ], removed: [ 3 ], common: [ 1, 2, 4, 5, 6 ] }
var  arrayDiff = require('simple-array-diff');
var result = arrayDiff(
    ['a', 'b', 'c', 1, 3, 5, true],
    ['c', 'd', 'e', 7, 3, 4, 5, false, true]
);
console.log(result);
OUTPUT:
{ added: [ 4, 7, 'd', 'e', false ], removed: [ 1, 'a', 'b' ], common: [ 3, 5, 'c', true ] }

CASE 2: Difference based on any key in the element of array. (Array of Objects)

var  arrayDiff = require('simple-array-diff');
var result = arrayDiff(
                [
                    {id:1, name: 'a'},
                    {id:2, name: 'b'},
                    {id:3, name: 'c'},
                    {id:4, name: 'd'},
                    {id:5, name: 'e'}
                ],
                [
                    {id:1, name: 'a'},
                    {id:2, name: 'b'},
                    {id:7, name: 'e'}
                ],
                'id' //The property in objects to find uniqueness with
            );
console.log(result);
OUTPUT:
{ added: [ { id: 7, name: 'e' } ],
  removed: [ { id: 3, name: 'c' }, { id: 4, name: 'd' }, { id: 5, name: 'e' } ],
  common: [ { id: 1, name: 'a' }, { id: 2, name: 'b' } ]
}