我想了解爲什麼這個函數的作者會調用reduce已經調用映射的結果的對象。這是來自骨幹應用程序的渲染功能(演示http://fire-camp.heroku.com/)。變量「消息」表示用戶進入消息傳遞系統的消息的集合。爲什麼作者會調用map,然後減少map的結果,即'data'。我不明白如何減少添加任何新的數據變量。如果您需要更多信息,請與我們聯繫。JavaScript:reduce和map
render: function() {
var data = messages.map(function(message) { return message.get('content') + 'n'});
var result = data.reduce(function(memo,str) { return memo + str }, '');
$("#chatHistory").text(result);
return this;
}
很短的應用程序的完整源代碼在這裏,但我不認爲你會需要它。 https://github.com/ryandotsmith/fire-camp
「map」函數返回一個數組; 「減少」將該數組摺疊爲標量。也就是說,代碼的作者應該使用'.join()'。 – Pointy
感謝您的幫助。但是,爲了從某人那裏得到更全面的答案,@pointy的評論只能部分回答這個問題。沒有真正解釋「爲什麼」部分。例如,在應用程序中,如果我將數據變量插入文本(數據),它仍然是一樣的,那麼爲什麼需要減少?或加入這個問題? – BrainLikeADullPencil
對不起,我的錯誤。如果我將數組傳遞給文本,它不起作用。 – BrainLikeADullPencil