Skip to content

Instantly share code, notes, and snippets.

View shadowboxdev's full-sized avatar

Paul shadowboxdev

  • Portland, Or
View GitHub Profile
@shadowboxdev
shadowboxdev / multi-level-group-by.js
Created May 3, 2019 01:20 — forked from fatihky/multi-level-group-by.js
multi level group by, lodash, collections
const _ = require('lodash')
function genrows(groups, groupKey) {
return _.toPairs(groups)
.map(([key, data]) => ({[groupKey]: key, data}))
}
function gengroups(arr, iteratee, key) {
const grouped = _.groupBy(arr, iteratee)
return genrows(grouped, key)
@shadowboxdev
shadowboxdev / getWeeksInMonth.js
Created August 11, 2021 02:24 — forked from markthiessen/getWeeksInMonth.js
JavaScript - get weeks in a month as array of start and end days
//note: month is 0 based, just like Dates in js
function getWeeksInMonth(year, month) {
const weeks = [],
firstDate = new Date(year, month, 1),
lastDate = new Date(year, month + 1, 0),
numDays = lastDate.getDate();
let dayOfWeekCounter = firstDate.getDay();
for (let date = 1; date <= numDays; date++) {