簡體   English   中英

如何在 Javascript 中的另一個數組中循環一個數組?

[英]How to loop an array inside another array in Javascript?

鑒於此腳本

<script>
var sentences= 
[
 ['journey27.mp4', 
  [
    [1, 2],
    [5, 7]
  ]
 ],
 ['journey28.mp4', 
  [
    [10, 12],
    [13, 17],
    [25, 36]
  ]
 ],
 ['journey30.mp4', 
  [
    [13, 15],
    [15, 19]
  ]
 ]
];

function playVideo(myUrl, startTime, endTime) { 
  console.log(`Playing ${myUrl} from ${startTime} to ${endTime}`);
} 
function myLoop(){
//what should I fill in here?
}
</script>

我想打印出這個結果:

從 1 到 2 播放“journey27.mp4”
從 1 到 2 播放“journey27.mp4”
從 1 到 2 播放“journey27.mp4”

從 5 到 7 播放“journey27.mp4”
從 5 到 7 播放“journey27.mp4”
從 5 到 7 播放“journey27.mp4”

從 10 點到 12 點播放“journey28.mp4”
從 10 點到 12 點播放“journey28.mp4”
從 10 點到 12 點播放“journey28.mp4”

從 13 到 17 播放“journey28.mp4”
從 13 到 17 播放“journey28.mp4”
從 13 到 17 播放“journey28.mp4”

從 25 到 36 播放“journey28.mp4”
從 25 到 36 播放“journey28.mp4”
從 25 到 36 播放“journey28.mp4”

從 13 到 15 播放“journey30.mp4”
從 13 到 15 播放“journey30.mp4”
從 13 到 15 播放“journey30.mp4”

從 15 到 19 播放“journey30.mp4”
從 15 到 19 播放“journey30.mp4”
從 15 到 19 播放“journey30.mp4”

注意:子數組的每一行應該播放 3 次然后移動到下一行。

如何填寫myLoop function 以打印出上述結果?

你可以試試這個方法

 var data = [ ['journey27.mp4', [ [1, 2], [5, 7] ] ], ['journey28.mp4', [ [10, 12], [13, 17], [25, 36] ] ], ['journey30.mp4', [ [13, 15], [15, 19] ] ] ]; function playVideo(myUrl, startTime, endTime) { console.log(`Playing ${myUrl} from ${startTime} to ${endTime}`); } function myLoop(sentences, lineCount) { for (const sentence of sentences) { const [video, timers] = sentence //extract video url and the timer array for (const timer of timers) { const [startTime, endTime] = timer //extract start time and end time in each timer for (let i = 0; i < lineCount; i++) { playVideo(video, startTime, endTime) //console.log for each line } } } } const lineCount = 3 //will print 3 times myLoop(data, lineCount)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM