オブジェクト指向の js 関数を作成するプロセスを理解しようとしています。 http://projecteuler.net/problem=1の例として Euler #1 を使用したいと考えていました。私は優雅さよりも読みやすさを求めています。私の試みは以下で、http://jsfiddle.net/mcgraw73/wGFNK/でフィドルを設定しました
(function euler1() {
//array for holding all numbers 1 thru 1000
var numArr = [];
//array for holding multiples of 3 and 5 < 1000
var divArr = [];
//fill numArr[]
function createArrayNums() {
for (var i = 1; i <= 999; i++) {
numArr[i] = i;
//console.log(i);
}
}
//go thru numArr, if any of the elements divided by 3 || 5 === 0 push those values into divArr[]
function createDivArray() {
var k;
for (var i = 0; i <= numArr.length; i++) {
if (numArr[i] % 3 === 0 || numArr[i] % 5 === 0) {
k = i;
divArr.push(k);
//console.log(k);
}
}
}
//run the functions that fill array's
createArrayNums();
createDivArray();
//get the sum of the elements in divArr[]
var sumOfMultiples = 0;
for (var i in divArr) {
sumOfMultiples += divArr[i];
}
//give me the answer
alert("the sum of the multiples of 3 && 5 < 1000 = " + sumOfMultiples);
//alert----> the sum of the multiples of 3 && 5 < 1000 = 233168
})();