How to use the uniq function from ramda

Find comprehensive JavaScript ramda.uniq code examples handpicked from public code repositorys.

ramda.uniq is a function in the Ramda library that takes an array and returns a new array with only the unique elements from the original array.

144
145
146
147
148
149
150
151
152
153
  });
}
const stats = {
  found: {
    "#total": foundAds.length,
    "#urls": R.uniq(foundAds.map((x) => x.url)).length,
  },
  expected: {
    "#total": expectedAds.length,
    "#urls": R.uniq(expectedAds.map((x) => x.url)).length,
fork icon14
star icon29
watch icon0

391
392
393
394
395
396
397
398
399
400
401
	'type': 'array',
	'minItems': 1,
	'items': {
		'type': 'string',
		'minLength': 1,
		'enum': uniq(values(VRC)),
	},
};


schemas[validationKeys.HAD_NO_ERROR] = {
fork icon5
star icon9
watch icon5

+ 260 other calls in file

How does ramda.uniq work?

ramda.uniq is a function in the Ramda library that takes an array and returns a new array with only the unique elements from the original array. When you call ramda.uniq, the function first creates an empty object called seen to keep track of the elements that have already been seen. It then iterates through the original array and adds each element to the seen object as a key. Since object keys are unique, adding an element to the seen object ensures that only unique elements are included. The function then extracts the keys from the seen object and returns them as a new array. Here's a simplified implementation of ramda.uniq to illustrate how it works: javascript Copy code {{{{{{{ const uniq = (arr) => { const seen = {}; const result = []; for (const item of arr) { if (!seen[item]) { seen[item] = true; result.push(item); } } return result; }; In this implementation, we create an empty seen object and a result array to store the unique elements. We then iterate through the input array arr and add each element to the seen object as a key. If an element is already in the seen object, we skip it. If the element is not in the seen object, we add it to the seen object and push it onto the result array. After iterating through the input array, we return the result array, which contains only the unique elements. Overall, ramda.uniq is a useful function in the Ramda library that allows you to extract only the unique elements from an array.

145
146
147
148
149
150
151
152
153
154
Object.assign(T,{
  mon:       t=>T(t).slice(1),
  mana:      t=>T(t).reduce((a,c)=>C.mana(c)+a,0),
  colorPri:  t=> C.color(T(t)[0]),
  colorSec:  t=> T(t).slice(1).map(C.color).reduce((color,c)=>c in color2Deck?c:color,'Gray'),
  colors:    t=> R.uniq(T(t).map(C.color)).join`,`,
  isActive:  inactive=> t=> T(t).every(c=>!inactive.includes(C.color(c))),
  playable:  cards=> t=> T(t).every(c=>c[0] in cards || c[0] in C.basicCards),
  splinter:  inactive=> t=> color2Deck[T.colorSec(t)]?? Object.entries(color2Deck).find(c=>!inactive.includes(c[0]))[1],
  print: R.pipe (T, R.applySpec ({Summoner: x=>C.name(x[0]), Monsters: x=>R.tail(x).map(C.name)}))
fork icon1
star icon5
watch icon0

210
211
212
213
214
215
216
217
218
219
220
221


class ResourceSerializer extends JsonLdItemSerializer {
  constructor (item, options) {
    super(item, options)
    // Serialize both the most general type (Resource) as well as any resource-specific type (Collection, Component, Capture, etc)
    this.type = R.uniq(R.flatten([item.type].concat('nypl:Resource')))
  }


  statements () {
    var stmts = JsonLdItemSerializer.prototype.statements.call(this)
fork icon0
star icon6
watch icon3

Ai Example

1
2
3
4
5
6
7
8
const R = require("ramda");

const originalArray = [1, 2, 2, 3, 3, 3, 4, 5, 5];

const uniqueArray = R.uniq(originalArray);

console.log(uniqueArray);
// Output: [1, 2, 3, 4, 5]

In this example, we first require the Ramda library using const R = require('ramda'). We then define an array called originalArray that contains some duplicate elements. We then call R.uniq(originalArray) to extract only the unique elements from the array. The uniq function returns a new array with only the unique elements, which we store in a variable called uniqueArray. Finally, we log the uniqueArray variable to the console, which outputs the unique elements of the original array: [1, 2, 3, 4, 5]. Overall, this example demonstrates how to use ramda.uniq to extract only the unique elements from an array in JavaScript.

27
28
29
30
31
32
33
34
35
36
* what rank (if any) it has in that list.
*/
function getRankedApps (apps) {
  const findRank = (list, app) => (list.indexOf(app.appId) + 1) || undefined;

  const queries = R.uniq(apps.map(store.getCollectionQuery));
  const queryIndex = queries.map((q) => [q.collection, q.category]);
  return Promise.all(queries.map(store.list))
    .then(R.map(R.map(R.prop('appId'))))
    .then(R.zipObj(queryIndex))
fork icon0
star icon0
watch icon1

+ 330 other calls in file

8805
8806
8807
8808
8809
8810
8811
8812
8813
 * @param {Array} list The array to consider.
 * @return {Array} The list of unique items.
 * @example
 *
 *      R.uniq([1, 1, 2, 1]); //=> [1, 2]
 *      R.uniq([1, '1']);     //=> [1, '1']
 *      R.uniq([[42], [42]]); //=> [[42]]
 */
var uniq = uniqBy(identity);
fork icon0
star icon0
watch icon0

+ 53 other calls in file

8
9
10
11
12
13
14
15
16
17
availableCurrencies: root => root.currency ? [root.currency] : [],
defaultCurrency: R.path(['currency']),
// options: root => [root],
options: root => {
  if (root.schedules && root.schedules.length > 0) {
    const times = R.uniq(R.flatten(root.schedules.map(s => s.times || [])));
    if (times.length > 0) {
      return times.map(time => ({
        id: time,
        name: time,
fork icon0
star icon0
watch icon0

165
166
167
168
169
170
171
172
173
174
  }
  return this.collectedCubeNames;
}

get dataSource() {
  const dataSources = R.uniq(this.allCubeNames.map(c => this.cubeDataSource(c)));
  if (dataSources.length > 1) {
    throw new UserError(`Joins across data sources aren't supported in community edition. Found data sources: ${dataSources.join(', ')}`);
  }
  return dataSources[0];
fork icon0
star icon0
watch icon0

+ 4 other calls in file

Other functions in ramda

Sorted by popularity

function icon

ramda.clone is the most popular function in ramda (30311 examples)