編寫一個簡單的程序,使其能接收一個或者多個命令行參數(shù),并且在終端(標(biāo)準(zhǔn)輸出 stdout)中打印出這些參數(shù)的總和。
可以通過 process 這個全局對象來獲取命令行中的參數(shù)。process 對象 擁有一個名為 argv 的屬性,該屬性是一個數(shù)組,數(shù)組中包含了整條命令的所有部分。首先,請先編寫一個包含如下帶簡易代碼的程序來熟悉一下:
console.log(process.argv)
通過執(zhí)行命令 node program.js 并在后面多加幾個參數(shù),來運行我們的程序,比如:
$ node program.js 1 2 3
這樣,就會得到這樣一個數(shù)組:
[ 'node', '/path/to/your/program.js', '1', '2', '3' ]
需要考慮的問題是,如何去循環(huán)遍歷這些代表數(shù)字的參數(shù),從而得到他們的總和。process.argv數(shù)組的第一個元素永遠(yuǎn)都會是node,并且第二個參數(shù)總是指向程序的路徑,所以,應(yīng)該從第三個元素(index 是 2)開始,依次累加,直到數(shù)組末尾。
需要注意的是,所有 process.argv 中的數(shù)組的元素都是字符串類型的,因此,需要將它們強制轉(zhuǎn)換成數(shù)字??梢酝ㄟ^加上 + 前綴,或者將其傳給 Number() 來解決。例如: +process.argv[2] 或者 Number(process.argv[2])。
var result = 0
for (var i = 2; i < process.argv.length; i++)
result += Number(process.argv[i])
console.log(result)
更多建議: