Published
Edited
Mar 7, 2021
1 star
Insert cell
Insert cell
Insert cell
R.uniq([1,4,5,2,1,5,5,1,2,4,2,4])
Insert cell
R.uniq([
{ name: 'A' },
{ name: 'C' },
{ name: 'A' },
{ name: 'A' },
{ name: 'B' },
{ name: 'B' },
{ name: 'C' },
{ name: 'A' },
{ name: 'B' },
{ name: 'A' },
])
Insert cell
Insert cell
Insert cell
R.prop('name', pomme)
Insert cell
R.prop('num', pomme)
Insert cell
Insert cell
fruits = ([
{name: 'Pomme', num: 5},
{name: 'Pêche', num: 3 },
{name: 'Banane', num: 6}
])
Insert cell
Insert cell
fruits.map(fruit => fruit.name)
Insert cell
Insert cell
fruits.map(R.prop('name'))
Insert cell
Insert cell
fruits.map(fruit => R.prop('name')(fruit))
Insert cell
Insert cell
fruits.map(R.prop('name'))
Insert cell
Insert cell
R.prop('name', pomme)
Insert cell
Insert cell
getName = R.prop('name')
Insert cell
getName({ name: 'X' })
Insert cell
Insert cell
fruits.map(R.prop('name'))
Insert cell
Insert cell
fruits.map(getName)
Insert cell
Insert cell
Insert cell
add = (a, b) => a + b
Insert cell
addC = R.curry(add)
Insert cell
addTwo = addC(2)
Insert cell
addTwo(10)
Insert cell
[3, 7, 1, 8].map(addTwo)
Insert cell
Insert cell
R.map(R.prop('name'), fruits)
Insert cell
Insert cell
fruits.map(d => d.name)
Insert cell
Insert cell
fruits.map(R.prop('name'))
Insert cell
Insert cell
getNames = R.map(R.prop('name'))
Insert cell
Insert cell
getNames(fruits)
Insert cell
Insert cell
Promise.resolve(fruits)
.then(getNames)
Insert cell
Insert cell
Promise.resolve(fruits)
.then(R.map(R.prop('name')))
Insert cell
Insert cell
listeDeListes = [
[{x: 1}, {x: 3}, {x: 7}],
[{x: 2}, {x: 8}, {x: 10}]
]
Insert cell
Insert cell
listeDeListes.map(liste => liste.map(d => d.x))
Insert cell
Insert cell
listeDeListes.map(R.map(R.prop('x')))
Insert cell
Insert cell
R.map(R.map(R.prop('x')))(listeDeListes)
Insert cell
Insert cell
fruits.filter(d => d.name.startsWith('P'))
Insert cell
Insert cell
R.filter(d => d.name.startsWith('P'), fruits)
Insert cell
fruits.find(d => d.name === 'Pomme')
Insert cell
Insert cell
R.find(d => d.name === 'Pomme', fruits)
Insert cell
fruits.map(d => d.name).join('---')
Insert cell
Insert cell
R.join('---', fruits.map(R.prop('name')))
Insert cell
fruits.map(d => d.num).reduce((sum, num) => sum + num, 0)
Insert cell
Insert cell
R.reduce((sum, num) => sum + num, 0, R.map(R.prop('num'), fruits))
Insert cell
Insert cell
R.sum(R.map(R.prop('num'), fruits))
Insert cell
R.sum([1, 6, 2, 8])
Insert cell
[1, 6, 2, 8].reduce((res, d) => res + d, 0)
Insert cell
Insert cell
R.propEq('name', 'Pomme', { name: 'Pomme' })
Insert cell
R.propEq('name', 'Poire', { name: 'Pomme' })
Insert cell
Insert cell
fruits.find(R.propEq('name', 'Pomme'))
Insert cell
Insert cell
fruits.find(fruit => fruit.name === 'Pomme')
Insert cell
Insert cell
person = ({
type: 'person',
personalData: {
lastName: 'Machine',
gender: 'F',
address: {
street: 'Chemin Bidule',
city: {
postcode: 1234,
name: 'Truc-sur-Mer',
}
}
}
})
Insert cell
Insert cell
R.path(['personalData'], person)
Insert cell
Insert cell
R.path(['personalData', 'address'], person)
Insert cell
Insert cell
R.path(['personalData', 'address', 'city'], person)
Insert cell
Insert cell
R.path(['personalData', 'address', 'city', 'name'], person)
Insert cell
Insert cell
getCityNameFromPerson = R.path(['personalData', 'address', 'city', 'name'])
Insert cell
Insert cell
Insert cell
R.path(['data', 'address', 'city', 'name'], person)
Insert cell
person.data.address.city.name
Insert cell
Insert cell
person?.data?.address?.city?.name
Insert cell
Insert cell
R.pathOr('Yverdon', ['data', 'address', 'city', 'name'], person)
Insert cell
R.pathOr('Yverdon', ['personalData', 'address', 'city', 'name'], person)
Insert cell
Insert cell
R.pathEq(['personalData', 'address', 'city', 'name'], 'Truc-sur-Mer', person)
Insert cell
R.pathEq(['personalData', 'address', 'city', 'name'], 'Machin-les-Vaches', person)
Insert cell
Insert cell
enMaj = string => string.toUpperCase()
Insert cell
prefix = pre => string => `${pre} ${string}`
Insert cell
postfix = post => string => `${string} ${post}`
Insert cell
Insert cell
x = R.pipe(
prefix('avant'),
enMaj,
postfix('après')
)
Insert cell
x('salut')
Insert cell
Insert cell
etap1 = prefix('avant')('salut')
Insert cell
etap2 = enMaj(etap1)
Insert cell
etap3 = postfix('après')(etap2)
Insert cell
Insert cell
postfix('après')(enMaj(prefix('avant')('salut')))
Insert cell
Insert cell
['salut', 'tcho'].map(x)
Insert cell
Insert cell
['salut', 'tcho'].map(prefix('avant')).map(enMaj).map(postfix('après'))
Insert cell
Insert cell
R.propOr(99, 'y', { y: 1 })
Insert cell
R.propOr(99, 'y', { x: 1 })
Insert cell
R.pathOr(99, ['x', 'y'], { x: 1 })
Insert cell
Insert cell
R.head([3, 2, 6, 1])
Insert cell
Insert cell
R.tail([3, 2, 6, 1])
Insert cell
Insert cell
R.last([3, 2, 6, 1])
Insert cell
import {R} from "@itacirgabral/ramda"
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more