MCPcopy Create free account
hub / github.com/Wisembly/basil.js / BasilSet

Function BasilSet

src/basil.set.js:11–280  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

9}(function (Basil) {
10
11 var BasilSet = function () {
12 var _indexOf = function (array, item) {
13
14 for (var i = 0, length = array.length; i < length; i++) {
15 if (array[i] === item)
16 return i;
17 }
18
19 return -1;
20 },
21 _contains = function (array, item) {
22 return _indexOf(array, item) >= 0;
23 },
24 //http://stackoverflow.com/questions/6274339/how-can-i-shuffle-an-array-in-javascript
25 _shuffle = function (o){
26 for (var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
27 return o;
28 },
29 _union = function () {
30 var args = arguments[0],
31 allElements = [],
32 uniqElements = [];
33
34 for (var i = 0, length = args.length; i < length; i++)
35 allElements = allElements.concat(args[i]);
36
37 for (i = 0, length = allElements.length; i < length; i++)
38 if (!_contains(uniqElements, allElements[i]))
39 uniqElements.push(allElements[i]);
40
41 return uniqElements;
42 },
43 _difference = function () {
44 arguments = arguments[0];
45 var firstArray = arguments[0], otherArrays = [], diffArray = [];
46 for (var i = 1, length = arguments.length; i < length; i++) {
47 otherArrays = otherArrays.concat(arguments[i]);
48 }
49
50 for (i = 0, length = firstArray.length; i < length; i++) {
51 if (!_contains(otherArrays, firstArray[i])) {
52 diffArray.push(firstArray[i]);
53 }
54 }
55
56 return diffArray;
57 },
58 _intersection = function () {
59 arguments = arguments[0];
60 var result = [], firstArray = arguments[0],
61 argsLength = arguments.length;
62
63 for (var i = 0, length = firstArray.length; i < length; i++) {
64 var item = firstArray[i];
65
66 if (_contains(result, item))
67 continue;
68

Callers

nothing calls this directly

Calls 6

_containsFunction · 0.85
_differenceFunction · 0.85
_intersectionFunction · 0.85
_indexOfFunction · 0.85
_shuffleFunction · 0.85
_unionFunction · 0.85

Tested by

no test coverage detected