contents

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.