当从 videos
数组,则应在索引为空且之后未定义的情况下删除该数组。问题是 splice_video();
继续调用同一个元素两次,而该元素只被调用一次就应该从数组中删除(数组中的每个元素都是一个函数)。
function playNextVideo() {
const videos = [showVideo1,showVideo2,showVideo3,showVideo4,showVideo5];
const random_video = Math.floor(Math.random() * videos.length);
const video = videos.splice(random_video, 1);
const splice_video = video[0]();
splice_video();
}
1条答案
按热度按时间pkln4tw61#
在外部而不是内部声明函数数组,以便从数组中删除函数是持久的。
现场演示: