Array.splice for lists
The op is `Array.prototype.splice(from, count)` on your lines. It removes `count` items starting at index `from` (zero-based) and leaves the rest intact. Indices before `from` are untouched; indices after the removed range shift left to fill the gap.
Default `from = 0, count = 1` drops the first item. Set `from = 2, count = 2` to drop the 3rd and 4th items (`carrot` and `date` in the sample). Set `count = 0` to leave the list unchanged (no items removed).
If `count` exceeds the number of items available after `from`, splice stops at the end of the list - no error. If `from` is past the end, nothing is removed. Unlike JavaScript's splice this tool does not accept replacement items; it is remove-only. For insertion-style edits, chain with Join or Add a prefix.
How to use splice a list
- 1Paste your list into the input panel
- 2Set `Start at` to the zero-based index where removal begins (default `0`)
- 3Set `Remove N` to how many consecutive items to drop (default `1`)
- 4Output updates live; count is clamped to the available items
- 5To extract a range instead of removing one, use Slice a list
Keyboard shortcuts
Drive ListShift without touching the mouse.
What this tool actually does
JavaScript `Array.splice(from, count)` - remove N items at an index.
Zero-based index
`Start at: 0` removes from the first item; `2` removes from the third; and so on. If you think one-based, subtract one.
Remove N, not replace
This tool only deletes - it does not insert replacements. For insertion, build the replacement separately and join / merge with the rest.
Count clamped safely
If `Remove N` is more than the remaining items after `Start at`, removal stops at the end of the list - no error or placeholder.
Start past end does nothing
If `Start at` is beyond the list length, no items are removed and the input is emitted verbatim.
How it differs from Slice
Slice keeps a range and drops the rest. Splice drops a range and keeps the rest. Opposite operations; same underlying `from / count` concept.
Worked example
`Start at: 2, Remove N: 2` → removes indices 2 and 3 (`carrot`, `date`). Remaining items close the gap.
apple banana carrot date elderberry fig grape
apple banana elderberry fig grape
Settings reference
How each option shapes the output using the sample above.
| Setting | What it does | Effect on the sample |
|---|---|---|
| `Start at: 0, Remove N: 1` (defaults) | Drops the first item | `banana, carrot, date, elderberry, fig, grape` |
| `Start at: 2, Remove N: 2` | Drops indices 2 and 3 | `apple, banana, elderberry, fig, grape` (as shown in Example) |
| `Start at: 0, Remove N: 3` | Drops the first three items | `date, elderberry, fig, grape` |
| `Start at: 4, Remove N: 100` (count past end) | Removes from index 4 through the end | `apple, banana, carrot, date` |
| `Start at: 10` (past end) | Nothing removed | Input unchanged |