UNPKG

@tidyjs/tidy

Version:

Tidy up your data with JavaScript, inspired by dplyr and the tidyverse

47 lines (42 loc) 1.37 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var d3Array = require('d3-array'); var arrange = require('./arrange.js'); function slice(start, end) { const _slice = (items) => items.slice(start, end); return _slice; } const sliceHead = (n) => slice(0, n); const sliceTail = (n) => slice(-n); function sliceMin(n, orderBy) { const _sliceMin = (items) => arrange.arrange(orderBy)(items).slice(0, n); return _sliceMin; } function sliceMax(n, orderBy) { const _sliceMax = (items) => typeof orderBy === "function" ? arrange.arrange(orderBy)(items).slice(-n).reverse() : arrange.arrange(arrange.desc(orderBy))(items).slice(0, n); return _sliceMax; } function sliceSample(n, options) { options = options != null ? options : {}; const {replace} = options; const _sliceSample = (items) => { if (!items.length) return items.slice(); if (replace) { const sliced = []; for (let i = 0; i < n; ++i) { sliced.push(items[Math.floor(Math.random() * items.length)]); } return sliced; } return d3Array.shuffle(items.slice()).slice(0, n); }; return _sliceSample; } exports.slice = slice; exports.sliceHead = sliceHead; exports.sliceMax = sliceMax; exports.sliceMin = sliceMin; exports.sliceSample = sliceSample; exports.sliceTail = sliceTail; //# sourceMappingURL=slice.js.map