2016-11-26 78 views
-3

插入一個for循環作爲對象這是數據的一個例子,我有:語法在陣列

$scope.allmovies[ 
{title:"Harry Potter", time:130}, 
{title:"Star Wars", time:155}, 
{title:"Lord of the Rings", time:250}, 
{title:"Goonies", time:125}, 
{title:"Fast and Furious", time:140} 
]; 

var mostpopular=[ 
$scope.allmovies[0], 
$scope.allmovies[2] 
]; 

var recentlyadded=[ 
$scope.allmovies[1], 
$scope.allmovies[3], 
$scope.allmovies[4] 
]; 

$scope.playlists={ 

mostpoplularmoves:{ 
title:"Most Popular Movies", 
price:"$5.99", 
Number:mostpopular.length, 
TotalTime: LOOP THROUGH VAR MOSTPOPULAR AND ADD TIME TO GET A TOTAL TIME OF ALL MOVIES 
}, 

recentlyaddedmovies:{ 
title:"Recently Added Movies", 
price:"$2.99", 
Number:recentlyadded.length, 
TotalTime:LOOP THROUGH VAR RECENTLYADDED AND ADD TIME TO GET A TOTAL TIME OF ALL MOVIES 
} 

}; 

所以我只是通過上面的陣列需要循環,並添加了所有的時間來獲得每個播放列表的總時間(mostpopular [0] .time + = totalTime then mostpopular [1] .time + = totalTime等....或類似的東西)。這是可能的,如果是這樣,語法是什麼?由於事先

+0

對不起,:) – MehdiN

回答

0

可以使用減少函數,該函數

mostpopular.reduce(function(totalTime, movie) { 
    return totalTime + movie.time; 
}, 0); 

減少函數使用的儲液器(TOTALTIME),然後將第二個參數在所述陣列中的當前值。底部的0表示我們應該使用什麼作爲初始totalTime參數,然後在reduce return中改變totalTime,這將成爲數組中下一項的totalTime參數。