MCPcopy Create free account
hub / github.com/microsoft/SandDance / uniqueArray

Function uniqueArray

docs/tests/v2/es6/js/sanddance.js:51667–51694  ·  view source on GitHub ↗

* unique array with objects based on a key (like 'id') or just by the array's value * @param {Array} src [{id:1},{id:2},{id:1}] * @param {String} [key] * @param {Boolean} [sort=False] * @returns {Array} [{id:1},{id:2}]

(src, key, sort)

Source from the content-addressed store, hash-verified

51665
51666
51667 function uniqueArray(src, key, sort) {
51668 var results = [];
51669 var values = [];
51670 var i = 0;
51671
51672 while (i < src.length) {
51673 var val = key ? src[i][key] : src[i];
51674
51675 if (inArray(values, val) < 0) {
51676 results.push(src[i]);
51677 }
51678
51679 values[i] = val;
51680 i++;
51681 }
51682
51683 if (sort) {
51684 if (!key) {
51685 results = results.sort();
51686 } else {
51687 results = results.sort(function sortUniqueArray(a, b) {
51688 return a[key] > b[key];
51689 });
51690 }
51691 }
51692
51693 return results;
51694 }
51695 /**
51696 * get the prefixed property
51697 * @param {Object} obj

Callers 2

normalizeSingleTouchesFunction · 0.70
getTouchesFunction · 0.70

Calls 1

inArrayFunction · 0.70

Tested by

no test coverage detected