이 함수의 작성자가 이미 map 호출의 결과 인 reduce를 호출하는 이유를 이해하려고합니다. 백본 앱의 렌더링 기능입니다 (데모는 여기 http://fire-camp.heroku.com/). 변수 "메시지"는 사용자가 메시징 시스템에 입력하는 메시지의 모음을 나타냅니다. 제작자가지도를 호출하고지도의 결과, 즉 '데이터'를 줄이는 이유는 무엇입니까? 나는 reduce가 데이터 변수에 새로운 것을 추가하는 방법을 이해하지 못한다. 더 많은 정보가 필요하면 알려주세요.JavaScript : reduce and 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;
}
매우 짧은 응용 프로그램의 전체 소스 코드는 여기에 있지만 필요하지 않을 것입니다.
"map"함수는 배열을 반환합니다. "축소"는 배열을 스칼라로 축소합니다. 즉, 코드 작성자는 아마도 .join()을 사용 했어야합니다. – Pointy
도움을 주셔서 감사합니다. 그러나, 누군가에게서 완전한 답을 얻기를 희망하면서, @pointy에 의한 코멘트는 부분적으로 만 질문에 답합니다. 왜 "왜"부분을 설명하지 않습니다. 예를 들어, 응용 프로그램에서 텍스트 (데이터)에 데이터 변수를 삽입하면 여전히 동일하게 작동하므로 왜 필요가 줄어 듭니까? 그 문제에 대해 가입 하시겠습니까? – BrainLikeADullPencil
죄송합니다, 실수. 배열에 텍스트를 전달하면 작동하지 않습니다. – BrainLikeADullPencil