Public
Edited
Oct 24, 2023
13 stars
Insert cell
Insert cell
Insert cell
numbers = [16, 15, 18, 10, 17, 14, 13, 19, 11, 12]
Insert cell
d3.quickselect(numbers.slice(), 2)
Insert cell
Insert cell
Insert cell
d3.quickselect([..."how to select an array of strings"], 10)
Insert cell
Insert cell
left = 4
Insert cell
k = 6 // must be between >= left and <= right
Insert cell
Insert cell
input = [0, 4, 1, 6, 7, 5, 8, 2, 9, 3]
Insert cell
result = d3.quickselect(input.slice(), k, left, right)
Insert cell
Insert cell
Insert cell
Insert cell
result.slice(left, k + 1)
Insert cell
Insert cell
d3.quickselect(
[
{ item: "Soup", note: 4, emoji: "🍜" },
{ item: "Cabbage", note: 1, emoji: "🥬" },
{ item: "Cake", note: 5, emoji: "🍰" },
{ item: "Ice Cream", note: 3, emoji: "🍦" }
],
2, // k
0, // left
3, // right
(a, b) => a.note - b.note // comparator
)
Insert cell
Insert cell
d3 = require("d3-array@3")
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