開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- JavaScript (プログラミング言語)
- Node.js(JavaScript Engine)
Eloquent JavaScript(Marijn Haverbeke 著、No Starch Press)のPart 1(Language)、Chapter 5(Higher-Order Functions)、Exercises(Every and Then some)を取り組んでみる。
Exercises(Every and Then some)
コード(Emacs)
'use strict';
var a = [],
b = [1],
c = [2],
d = [1 ,2, 3, 4, 5],
e = [1, 3, 5, 7, 9],
f = [2, 4, 6, 8, 10],
arys = [a, b, c, d, e, f],
every,
some,
even,
odd;
every = function (ary, func) {
var i,
max;
for (i = 0, max = ary.length; i < max; i += 1) {
if (!func(ary[i])) {
return false;
}
}
return true;
};
some = function (ary, func) {
var i,
max;
for (i = 0, max = ary.length; i < max; i += 1) {
if (func(ary[i])) {
return true;
}
}
return false;
};
even = function (x) {
return x % 2 === 0;
};
odd = function (x) {
return x % 2 === 1;
};
arys.forEach(function (ary) {
console.log(ary);
[every, some].forEach(function (f) {
[even, odd].forEach(function (g) {
console.log(f(ary, g));
});
});
});
入出力結果(Terminal, Node.js)
$ node sample4.js [] true true false false [ 1 ] false true false true [ 2 ] true false true false [ 1, 2, 3, 4, 5 ] false false true true [ 1, 3, 5, 7, 9 ] false true false true [ 2, 4, 6, 8, 10 ] true false true false $
0 コメント:
コメントを投稿