我剛開始學習node.js。 我想創建一個腳本,它將從文件中獲取一個列表。該名單是建立這樣node.js中列表中的總和數字
Bob:110
Mike:120
Bob:334
Dan:240
,並給這個輸出
name value
它應該總結具有相同的名稱相關聯的數字。
所以在我的例子,將打印
Bob 444
Mike 120
Dan 240
我用我在這個網站上找到的幫助下創建一些基本的腳本
fs = require('fs');
var array = fs.readFileSync('C:\\data.txt').toString().split("\n");
var items = {}, base, key;
for (var i = 0; i < array.length; i++) {
base = array[i];
key = base[0];
if (!items[key]) {
items[key] = 0;
}
items[key] += base[1];
}
var outputArr = [], temp;
for (key in items) {
temp = [key, items[key]]
outputArr.push(temp);
}
console.log(outputArr);
注意,我從一個文本文件中獲取名單,但它目前包含我在這個問題中發佈的內容。 我得到的輸出非常亂,我不知道爲什麼。 這是我的輸出:
[ [ 'B', '0oo' ],
[ 'M', '0i' ],
[ 'D', '0a' ],
[ 'undefined', NaN ] ]
誰能幫我明白爲什麼這不能正常工作,並告訴我如何解決它?
順便說一下,我不確定這是否是在node.js中完成此任務的正確思路。我很樂意獲得反饋!
非常感謝!
@DLeh建議使用在原始問題中未標記或標記的框架或庫的解決方案被認爲是不好的禮節。 –
@DavidL是的,我同意。然而,這個問題的最佳答案包括了一個vanilla js解決方案。我直接鏈接到重複的答案,但它轉換爲問題鏈接。 – DLeh
@DLeh啊,夠公平的。如果回答的鏈接沒有被吞噬,那將會更加清晰。我同意你的近距離投票。 –