29 lines
469 B
JavaScript
29 lines
469 B
JavaScript
function range(m, n) {
|
|
'use strict';
|
|
return Array.apply(null, Array(n - m + 1)).map(
|
|
function (x, i) {
|
|
return m + i;
|
|
}
|
|
);
|
|
}
|
|
|
|
function takeWhile(lst, fnTest) {
|
|
'use strict';
|
|
var varHead = lst.length ? lst[0] : null;
|
|
|
|
return varHead ? (
|
|
fnTest(varHead) ? [varHead].concat(
|
|
takeWhile(lst.slice(1), fnTest)
|
|
) : []
|
|
) : []
|
|
}
|
|
|
|
console.log(
|
|
takeWhile(
|
|
range(1, 100),
|
|
function (x) {
|
|
return x % 6;
|
|
}
|
|
).join('\n')
|
|
);
|