![require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages](https://cdn.sanity.io/images/cgdhsj6q/production/be8ab80c8efa5907bc341c6fefe9aa20d239d890-1600x1097.png?w=400&fit=max&auto=format)
Security News
require(esm) Backported to Node.js 20, Paving the Way for ESM-Only Packages
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
array-subtract
Advanced tools
Compute the difference between two arrays with an optional custom equality comparison method.
Compute the difference between two arrays with an optional custom equality comparison method.
Inspired by Ruby's built in Array Difference: Ruby Docs: Array-Difference
array-subtract-functional-compare
is slightly different from the NPM package
array-difference. This module will subtract one array from another array, and return a new
array with a subset of the values in the first array. array-difference
computes the
symmetric difference (XOR) of two arrays.
A: [1, 2, 3, 4, 5]
B: [3, 4, 5, 6, 7]
Symmetric difference: A XOR B = [1, 2, 6, 7]
Array subtraction: A - B = [1, 2]
// In Ruby the subtraction operator is overloaded to work with arrays
[1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5] - [1, 3, 4]
// => [2, 2, 5, 5, 5, 5, 5]
// Equivalent operation in JavaScript using array-subtract
var Subtract = require('array-subtract')
var subtract = new Subtract((a, b) => { return a === b })
subtract.sub([1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5], [1, 3, 4])
// => [2, 2, 5, 5, 5, 5, 5]
var namesA = [{
name: 'David'
}, {
name: 'Jessica'
}, {
name: 'Sam'
}, {
name: 'Jessica'
}]
var namesB = [{
name: 'Sam'
}, {
name: 'Tim'
}]
var Subtract = require('array-subtract')
/**
* Arguments of comparator function passed to new Subtract()
*
* @param {*} itemA - Any element of an array argument passed to subtract.sub
* @param {*} itemB - Any element of an array argument passed to subtract.sub
*/
var subtract = new Subtract((itemA, itemB) => { return itemA.name === itemB.name })
// namesA - namesB
var namesC = subtract.sub(namesA, namesB)
// => [{ name: 'David' }, { name: 'Jessica' }, { name: 'Jessica' }]
# Run using Node v4.0.0 or higher
$ npm run test
$ npm run html-test-cov # Will generate HTML coverage report and attempt to auto-open Chrome (OSX)
MIT
FAQs
Compute the difference between two arrays with an optional custom equality comparison method.
The npm package array-subtract receives a total of 14 weekly downloads. As such, array-subtract popularity was classified as not popular.
We found that array-subtract demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
require(esm) backported to Node.js 20, easing the transition to ESM-only packages and reducing complexity for developers as Node 18 nears end-of-life.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.