@tidyjs/tidy
Version:
Tidy up your data with JavaScript, inspired by dplyr and the tidyverse
47 lines (42 loc) • 1.37 kB
JavaScript
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
;