htc 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 tháng trước cách đây
..
.travis.yml 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 tháng trước cách đây
README.md 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 tháng trước cách đây
index.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 tháng trước cách đây
package.json 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 tháng trước cách đây
test.js 7ca38fdcbb 善行少年PC端首次提交(基础版) 10 tháng trước cách đây

README.md

Build Status

Tiny utility to create unions and de-duplicated lists.

Example:

var uniqs = require('uniqs');

var foo = { foo: 23 };
var list = [3, 2, 2, 1, foo, foo];

uniqs(list);
// => [3, 2, 1, { foo: 23 }]

You can pass multiple lists to create a union:

uniqs([2, 1, 1], [2, 3, 3, 4], [4, 3, 2]);
// => [2, 1, 3, 4]

Passing individual items works too:

uniqs(3, 2, 2, [1, 1, 2]);
// => [3, 2, 1]

Summary

  • Uniqueness is defined based on strict object equality.
  • The lists do not need to be sorted.
  • The resulting array contains the items in the order of their first appearance.

About

This package has been written to accompany utilities like flatten as alternative to full-blown libraries like underscore or lodash.

The implementation is optimized for simplicity rather than performance and looks like this:

module.exports = function uniqs() {
  var list = Array.prototype.concat.apply([], arguments);
  return list.filter(function(item, i) {
    return i == list.indexOf(item);
  });
};

License

MIT