我有两个用 ReactJS 编写的 if 语句。
if (videoUrl !== undefined && videoUrl !== null && videoUrl.indexOf('youtube') !== -1)
{
videoUrl = videoUrl.replace("watch?v=", "embed/")
}
if (videoUrl !== undefined && videoUrl !== null && videoUrl.indexOf('vimeo') !== -1)
{
videoUrl = videoUrl.replace("https://vimeo.com/", "https://player.vimeo.com/video/")
}
我不知道如何制作这些 if else
语句,因此它可以在 youtube 或 Vimeo 之间进行检查。现在我只能使用一个 if 语句。如果我将两个 if 语句都保留在该位置,则第一个 if 有效。
最佳答案
不需要那么多 if,只需检查字符串
let videoUrl = 'https://vimeo.com/';
if (typeof videoUrl === 'string') {
if(videoUrl.indexOf('youtube') !== -1) {
videoUrl = videoUrl.replace("watch?v=", "embed/");
}
if (videoUrl.indexOf('vimeo') !== -1) {
videoUrl = videoUrl.replace("https://vimeo.com/", "https://player.vimeo.com/video/");
}
}
console.log(videoUrl);
// Another option is to use regex
videoUrl = 'https://vimeo.com/';
if (/youtube/.test(videoUrl)) {
videoUrl = videoUrl.replace("watch?v=", "embed/");
}
if (/vimeo/.test(videoUrl)) {
videoUrl = videoUrl.replace("https://vimeo.com/", "https://player.vimeo.com/video/");
}
console.log(videoUrl);
关于javascript - 如何在 JSX 中添加 If...Else 语句而不需要 2 个 if 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50361231/