1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- /*!
- * array-unique <https://github.com/jonschlinkert/array-unique>
- *
- * Copyright (c) 2014-2015, Jon Schlinkert.
- * Licensed under the MIT License.
- */
- 'use strict';
- module.exports = function unique(arr) {
- if (!Array.isArray(arr)) {
- throw new TypeError('array-unique expects an array.');
- }
- var len = arr.length;
- var i = -1;
- while (i++ < len) {
- var j = i + 1;
- for (; j < arr.length; ++j) {
- if (arr[i] === arr[j]) {
- arr.splice(j--, 1);
- }
- }
- }
- return arr;
- };
- module.exports.immutable = function uniqueImmutable(arr) {
- if (!Array.isArray(arr)) {
- throw new TypeError('array-unique expects an array.');
- }
- var arrLen = arr.length;
- var newArr = new Array(arrLen);
- for (var i = 0; i < arrLen; i++) {
- newArr[i] = arr[i];
- }
- return module.exports(newArr);
- };
|