2.5 part 3
Javascript codes
for loop
code
// 2.5.1.js
// 2024/10/26
//
"use strict"
const rate = 0.1;
const cf = 500e3;
const x = [cf, cf, cf, cf, cf, cf, cf, cf, cf, cf,
cf, cf, cf, cf, cf, cf, cf, cf, cf, cf];
function pv(cfs, r){
const n = cfs.length;
let v = 0;
for(let i = 0; i < n; i++){
v += cfs[i] / (1 + r) ** i;
}
return v;
}
// output
console.log("2.5.1.js");
console.log("r= ", rate);
console.log("cfs= ", x);
console.log("pv of cfs= ", Math.round(pv(x, rate)));
// end
function map
code
// 2.5.2.js
// 2024/10/26
//
"use script"
//input
const rate = 0.1;
const cf = 500e3;
const x = [cf, cf, cf, cf, cf, cf, cf, cf, cf, cf,
cf, cf, cf, cf, cf, cf, cf, cf, cf, cf];
// function
const pv = function(c, r){
const pvi = c.map((_, i) => c[i] / (1 + r) ** i);
return pvi.reduce((x, y) => x + y); // sum
};
//output
console.log("2.5.2.js");
console.log("r= ", rate);
console.log("cfs= ", x);
console.log("pv of cfs= ", Math.round(pv(x, rate)));
// end
output
付記
David Flanagan, 村上列(訳):JavaScript 第6版、オライリー・ジャパン、2012、p.304に記載の
配列内包(array comprehension)は、「非標準」である。
(出典 https://developer.mozilla.org/ja/docs/Web/Javascript/reference/Operators/Array_comprehensions 2020-10-31閲覧。)
ジェネレーター内包(generator comprehension)は、「非標準」である。
(出典 https://developer.mozilla.org/ja/docs/Web/Javascript/reference/Operators/Generator_comprehensions 2020-10-31閲覧。)
history
2024-10-26 revise 2.5.1.js and 2.5.2.js.
2021-02-14 move history.
2020-10-31 part 3 created.