Skip to main content
Module

x/ramda/intersperse.js

:ram: Practical functional Javascript
Very Popular
Go to Latest
File
import _checkForMethod from './internal/_checkForMethod';import _curry2 from './internal/_curry2';

/** * Creates a new list with the separator interposed between elements. * * Dispatches to the `intersperse` method of the second argument, if present. * * @func * @memberOf R * @since v0.14.0 * @category List * @sig a -> [a] -> [a] * @param {*} separator The element to add to the list. * @param {Array} list The list to be interposed. * @return {Array} The new list. * @example * * R.intersperse('a', ['b', 'n', 'n', 's']); //=> ['b', 'a', 'n', 'a', 'n', 'a', 's'] */var intersperse = _curry2(_checkForMethod('intersperse', function intersperse(separator, list) { var out = []; var idx = 0; var length = list.length; while (idx < length) { if (idx === length - 1) { out.push(list[idx]); } else { out.push(list[idx], separator); } idx += 1; } return out;}));export default intersperse;