javascript(node.js)のライブラリを作る
練習がてら、安全とされるforeachの関数を作ってみた。
コールバック関数は毎回呼ばれるわけだから、
特定のkeyなりvalueなりを発見したらbreakまたはreturnするということができないので、
値を探すときには使えない。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// u.js 'use strict'; module.exports = { p: (a) => { console.log(a); }, foreach: (obj, func) => { for (const key of Object.keys(obj)) { const value = obj[key]; func(key, value); } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
// main.js const main = () => { 'use strict'; const u = require('./u'); let taro = { phrase: "こんにちは", name: "たろう", age: 19, greeting(){ p(this.phrase + ", " + this.name + "(" + this.age + ")です。"); } }; u.foreach(taro, (k, v) => { u.p(k + " : " + v); if(v === "たろう"){ u.p("=== たろうを発見 ==="); return; } }); } main(); |
1 2 3 4 5 6 7 8 |
$ node main.js phrase : こんにちは name : たろう === 発見 === age : 19 greeting : greeting(){ p(this.phrase + ", " + this.name + "(" + this.age + ")です。"); } |