Given this script
<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>
I want to print out this result:
Playing 'journey27.mp4' from 1 to 2
Playing 'journey27.mp4' from 1 to 2
Playing 'journey27.mp4' from 1 to 2
Playing 'journey27.mp4' from 5 to 7
Playing 'journey27.mp4' from 5 to 7
Playing 'journey27.mp4' from 5 to 7
Playing 'journey28.mp4' from 10 to 12
Playing 'journey28.mp4' from 10 to 12
Playing 'journey28.mp4' from 10 to 12
Playing 'journey28.mp4' from 13 to 17
Playing 'journey28.mp4' from 13 to 17
Playing 'journey28.mp4' from 13 to 17
Playing 'journey28.mp4' from 25 to 36
Playing 'journey28.mp4' from 25 to 36
Playing 'journey28.mp4' from 25 to 36
Playing 'journey30.mp4' from 13 to 15
Playing 'journey30.mp4' from 13 to 15
Playing 'journey30.mp4' from 13 to 15
Playing 'journey30.mp4' from 15 to 19
Playing 'journey30.mp4' from 15 to 19
Playing 'journey30.mp4' from 15 to 19
Note: each line of the subarray should be played 3 times then it moves to the next line.
How can I fill in myLoop function to print out the above result?
You can try this approach
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)