0

잘 작동하는 템플릿이 있지만 그 총 값을 얻으려는 최종 목표로 배열을 작성하려고합니다. 밑줄 템플릿을 사용하여 목록을 단일 배열에 추가 하시겠습니까?

그래서 내 템플릿은 주위에 미세한 루프 내 데이터베이스에있는 각 값에 대해, 나에게 값의 다음 목록,

10 
    23 
    14 
    1 

요법을 제공합니다. 그러나 나는이 목록에서 합계를 원한다. 나는이 행에서 한 적이 있지만 이것은 데이터베이스의 각 행을 거쳐 간다. 그래서 내 목표가 무엇인지 (그리고 더 나은 방법이 있는지 말해 주시오.) 템플릿 내에서 각 값을 새로운 배열로 밀어 넣은 다음 배열을 추가하여 하나의 배열로 만들면됩니다. 합계.

그래서 내 템플릿은, 다음과 같이

<script type="text/template" id="TimesheetData"> 
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.jobtitle %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.mon %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.tue %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.wed %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.thu %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.fri %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.sat %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.sun %>"> 

    <span>Weekly total : <span class="TimeSheetWeekly<%= Timesheetrow.index %>"></span></span> 

<% 
    var WeeklyArray = [Timesheetrow.mon, Timesheetrow.tue, Timesheetrow.wed, Timesheetrow.thu, Timesheetrow.fri, Timesheetrow.sat, Timesheetrow.sun]; 
    var WeeklyTotals = 0; 

    for (var i = 0; i < WeeklyArray.length; i++) { 
     WeeklyTotals += WeeklyArray[i] << 0; 
    } 

    _.defer(function(){ 
     var WeeklyTotalTag = '.TimeSheetWeekly'+ Timesheetrow.index; 
     $(WeeklyTotalTag).html(WeeklyTotals); 
    }) 


%> 

</script> 

보이는하지만 .zip 또는 .map를 사용하려고 할 때 배열을 만들 수없는 것. 단지 각 값을 전체 배열이 아닌 자체 배열에 넣는 것처럼 보입니까?

그래서 내가 뭘 잘못하고 있니?

감사

  • 내 게시물을 수정할 것, 내가 분명히 자신을 설명하지 않은 경우 알려 주시기 바랍니다. 여기

답변

0

나가 어레이의 합계를 계산하는데 사용 reduce 작업 jsfiddle

이다.

<%= _.reduce(_.values(_.pick(Timesheetrow, 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun')), function(a, b) {return a + b}, 0) %> 

전체 템플릿 :

<script type="text/template" id="TimesheetData"> 
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.jobtitle %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.mon %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.tue %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.wed %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.thu %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.fri %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.sat %>">   
    <input type="type" name="data[Timesheetrow][<%= Timesheetrow.index %>][jobtitle]" value="<%= Timesheetrow.sun %>"> 

    <span>Weekly total : <span class="TimeSheetWeekly<%= Timesheetrow.index %>"> 
    <%= _.reduce(_.values(_.pick(Timesheetrow, 'mon', 'tue', 'wed', 'thu', 'fri', 'sat', 'sun')), function(a, b) {return a + b}, 0) %> 
    </span></span> 

</script> 
+0

당신의 도움을 주셔서 감사합니다,하지만 난 내 질문에 분명했다 생각하지 않습니다. 나는 문제없이 일하는 주간 총계가있다. 하지만 전체 루프에 대해 월별, 화요일, 요일별로 합계가 필요합니다. 사용자가 시스템에 추가하는 작업 수에 따라 다릅니다. –