# Create a function that accepts a single argument

Wrap a function so it ignores every argument after the first.

Canonical: https://1loc.dev/function/create-a-function-that-accepts-a-single-argument/
Version: 1.0.0
Runtime: JavaScript · Node.js 22 / modern browsers
Verification: Usage lines executed in Node.js 22 and headless Chromium; no external services
Updated: 2026-10-28

## Implementation

```javascript
function unary(fn) { return value => fn(value); }
```

## Usage

```javascript
['1', '2', '3'].map(Number.parseInt); // → [1, NaN, NaN]
['1', '2', '3'].map(unary(Number.parseInt)); // → [1, 2, 3]
```

Lines marked → were executed in Node.js 22 and in headless Chromium, and each result was compared with the value shown. Lines marked e.g. are illustrative.

## Limits

- map passes (value, index, array), so parseInt received the index as its radix, as the first line shows. unary drops everything after the value.

The function does not validate its arguments. Add checks where it receives untrusted input.

## Source and license

Original: https://github.com/phuocng/1loc/blob/14b481cf60dff1620ab1bb99a43b1f68068cdd9b/contents/create-a-function-that-accepts-a-single-argument.mdx
Author: Nguyen Huu Phuoc and original contributors
Contributors: See original repository history
Source commit: 14b481cf60dff1620ab1bb99a43b1f68068cdd9b
Copyright (c) 2020 phuoc-ng
License: MIT — https://1loc.dev/licenses/
Maintainer: Oveyon
Modifications: Documented as a reference with executed usage lines. Original MDX retained as inert source evidence.
