blob: 5ae6c4a08b4ef08fa99a930d817f4d22a24ee0ae [file] [log] [blame]
Leo Repp58b9f112021-11-22 11:57:47 +01001'use strict';
2
3module.exports = function union(init) {
4 if (!Array.isArray(init)) {
5 throw new TypeError('arr-union expects the first argument to be an array.');
6 }
7
8 var len = arguments.length;
9 var i = 0;
10
11 while (++i < len) {
12 var arg = arguments[i];
13 if (!arg) continue;
14
15 if (!Array.isArray(arg)) {
16 arg = [arg];
17 }
18
19 for (var j = 0; j < arg.length; j++) {
20 var ele = arg[j];
21
22 if (init.indexOf(ele) >= 0) {
23 continue;
24 }
25 init.push(ele);
26 }
27 }
28 return init;
29};