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

Function uniqueArray

docs/app/js/sanddance-app.js:92711–92728  ·  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

92709 * @param {Boolean} [sort=False]
92710 * @returns {Array} [{id:1},{id:2}]
92711 */ function uniqueArray(src, key, sort) {
92712 var results = [];
92713 var values = [];
92714 var i = 0;
92715 while(i < src.length){
92716 var val = key ? src[i][key] : src[i];
92717 if (inArray(values, val) < 0) results.push(src[i]);
92718 values[i] = val;
92719 i++;
92720 }
92721 if (sort) {
92722 if (!key) results = results.sort();
92723 else results = results.sort(function sortUniqueArray(a, b) {
92724 return a[key] > b[key];
92725 });
92726 }
92727 return results;
92728 }
92729 /**
92730 * get the prefixed property
92731 * @param {Object} obj

Callers 2

normalizeSingleTouchesFunction · 0.70
getTouchesFunction · 0.70

Calls 1

inArrayFunction · 0.70

Tested by

no test coverage detected