Published
Edited
Dec 3, 2018
2 stars
Insert cell
Insert cell
Insert cell
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.

Insert cell
selection = filters(timeData)
Insert cell
filters = xs => {
// const yearsFilter = R.filter(R.partial(isInYears, [years]))
// const monthsFilter = R.filter(R.partial(isInMonths, [months]))
// const daysFilter = R.filter(R.partial(isInDays, [days]))
// return R.compose(match, daysFilter, monthsFilter, yearsFilter)(xs)
// const genreFilter = R.filter(R.partial(isGenre, [genres]))
return R.compose(match, isGenre)(xs)
}
Insert cell
Insert cell
Insert cell
match = xs => {
const innerMatch = d => {
if (sf.trim() == '') { return true }
const n = d.lyrics
// return search.wholeWords ? search.regexw.test(n) : search.regex.test(n)
return search.regex.test(n) || search.regex1.test(n) || search.regex2.test(n)
}
return R.filter(innerMatch, xs)
}
Insert cell
isGenre = xs => {
const genreMatch = d => {
if (genres.includes(genreArray.indexOf(d.genre).toString())) { console.log("hi"); return true }
if (genres.includes(genreArray.indexOf("all").toString())) { console.log("hey"); return true }
console.log("nope");
return false
}
return R.filter(genreMatch, xs)
}
Insert cell
Insert cell
viewof genreSelector = select2({
title: "Genres",
options: [
{ value: 0, label: "rap" },
{ value: 1, label: "pop" },
{ value: 2, label: "r&b" },
{ value: 3, label: "rock" },
{ value: 4, label: "country" },
{ value: 5, label: "edm" },
{ value: 6, label: "all" }
],
value: [0, 1, 2, 3, 4, 5, 6],
multiple: true
})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.

Insert cell
Type JavaScript, then Shift-Enter. Ctrl-space for more options. Arrow ↑/↓ to switch modes.

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