locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
23 lines (22 loc) • 742 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.tails = tails;
function tails(items) {
// discuss at: https://locutus.io/haskell/list/tails/
// original by: Kevin van Zonneveld (https://kvz.io)
// note 1: Returns all suffixes from longest to shortest, like Haskell Data.List.tails.
// example 1: tails([1, 2, 3])
// returns 1: [[1, 2, 3], [2, 3], [3], []]
// example 2: tails(['a', 'b'])
// returns 2: [['a', 'b'], ['b'], []]
// example 3: tails([])
// returns 3: [[]]
if (!Array.isArray(items)) {
return [];
}
const out = [];
for (let i = 0; i <= items.length; i++) {
out.push(items.slice(i));
}
return out;
}