All challenges
JavaScript challenge· Frontend

Classnames

easy
15m
#frontend#javascript#typescript#strings#objects

Implement classNames(...args) — the classic conditional class joiner. Accept strings, numbers, arrays (recursively), and objects ({ cls: boolean }). Ignore falsy values. Return a space-separated string.

classNames('a', { b: true, c: false }, ['d']) // => 'a b d'