What is es6-set?
The es6-set npm package provides a polyfill for the ES6 Set data structure, allowing developers to use Set functionalities in environments that do not natively support ES6. It offers methods to add, delete, and manage unique values in a set.
What are es6-set's main functionalities?
Creating and Initializing a Set
This feature allows the creation of a Set object and initialization with an array of values. The 'has' method checks if a value exists in the set.
const Set = require('es6-set');
const mySet = new Set([1, 2, 3]);
console.log(mySet.has(1)); // true
Adding Values
This feature demonstrates adding values to a Set. The 'add' method appends a new element to the set if it does not already exist.
const Set = require('es6-set');
const mySet = new Set();
mySet.add(1);
mySet.add(2);
console.log(mySet.has(2)); // true
Deleting Values
This feature shows how to remove a specific element from a Set using the 'delete' method.
const Set = require('es6-set');
const mySet = new Set([1, 2, 3]);
mySet.delete(2);
console.log(mySet.has(2)); // false
Clearing the Set
This feature allows clearing all elements from a Set using the 'clear' method, effectively resetting the Set.
const Set = require('es6-set');
const mySet = new Set([1, 2, 3]);
mySet.clear();
console.log(mySet.size); // 0
Other packages similar to es6-set
core-js
core-js is a modular standard library for JavaScript, which includes polyfills for many ECMAScript features including Set. It offers broader functionality than es6-set, covering more ES6 features and beyond.
babel-polyfill
babel-polyfill provides a more comprehensive set of polyfills for ES6 features, including Set. It is typically used in conjunction with Babel for projects that require transpiling newer ECMAScript code to be compatible with older environments.
es6-set
Set collection as specified in ECMAScript6
Usage
If you want to make sure your environment implements Set
, do:
require('es6-set/implement');
If you'd like to use native version when it exists and fallback to polyfill if it doesn't, but without implementing Set
on global scope, do:
var Set = require('es6-set');
If you strictly want to use polyfill even if native Set
exists, do:
var Set = require('es6-set/polyfill');
Installation
$ npm install es6-set
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: Browserify, Webmake or Webpack
API
Best is to refer to specification. Still if you want quick look, follow examples:
var Set = require('es6-set');
var set = new Set(['raz', 'dwa', {}]);
set.size;
set.has('raz');
set.has('foo');
set.add('foo');
set.size
set.has('foo');
set.has('dwa');
set.delete('dwa');
set.size;
set.forEach(function (value) {
});
for (value of set) {
}
var iterator = set.values();
iterator.next();
iterator.next();
iterator.next();
iterator.next();
set.clear();
set.size;
Tests
$ npm test