Published
Edited
Sep 22, 2021
1 star
Insert cell
Insert cell
function samples(array, m) {
if (!((m = Math.floor(m)) > 0)) return []; // return nothing
const n = array.length;
if (!(n > m)) return array.slice(); // return everything
const samples = [];
for (let i = 0, D = 2 * m - n; i < n; ++i, D += 2 * m) {
if (D > 0) {
samples.push(array[i]);
D -= 2 * n;
}
}
return samples;
}
Insert cell
Insert cell
Insert cell
samples(array, m) // m evenly-spaced samples
Insert cell
array = Array.from({length: 14}, (_, i) => i) // fake source data
Insert cell
import {Range} from "@observablehq/inputs"
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