[英]Loop through an array of songs using JS. If song is in the array, alert “Yes”. If it's not, alert “No”
我正在尝试显示乐队在新网站上播放的歌曲列表。 用户输入歌曲名称(在名为“ liveSearchBox”的输入标签中),然后单击“ findSong”按钮。 如果我们播放歌曲,我想提醒“是的,我们播放!”。 如果我们不这样做,我想提醒“对不起,我们不播放。” 我已经尝试了好几个小时才能找出解决方案,但是还不够先进。 谢谢你的帮助!
这是我的HTML代码:
<div class="live-search-list">
<input type="text" id="liveSearchBox" placeholder=" Search Songs or Artist">
<button id="findSong"> Click to Find!</button>
<ul id="songList">
<li class="song"> Margaritaville</li>
<li class="song"> Boys of Summer</li>
<li class="song"> Somebody Like You</li>
</ul>
</div>
这是我的Javascript:
var songList = ["Margaritaville","Boys of Summer","Somebody Like You"];
var findButton = document.getElementById("findSong");
var songQuery = document.getElementById("liveSearchBox");
var songListItem = document.getElementsByClassName("song");
findButton.onclick = function(){
for (var i = 0; i<songList.length; i++){
if (songQuery.value === songList[i]){
alert('Yes, we play "' + songQuery.value + '"!');
} else {
i++;
}
}
};
使用indexOf
:
if (songList.indexOf(songQuery.value) != -1)
alert('yes');
else
alert('no');
使用indexOf
是可以的,但是如果您想要一个在任何浏览器中都可以使用的解决方案,这是最快的方法:
function isInArray(array, item) {
for (i = 0; i < array.length; i++)
if (array[i] === item)
return true;
return false;
}
findButton.onclick = function() {
if (isInArray(songList, songQuery.value))
alert('Yes, we play "' + songQuery.value + '"!');
else
alert('Sorry, we don\'t play "' + songQuery.value + '".');
};
findButton.onclick = function(){
var msg = !!~songList.indexOf(songQuery.value) ? 'Yes, we play "' + songQuery.value + '"!' : 'No we do not play this song.';
alert(msg);
}
也许这对您来说更容易理解:
findButton.onclick = function(){
var msg = songList.includes(songQuery.value) ? 'Yes, we play "' + songQuery.value + '"!' : 'No we do not play this song.';
alert(msg);
}
或这个:
findButton.onclick = function(){
if(songList.includes(songQuery.value)) {
alert('Yes, we play "' + songQuery.value + '"!');
} else {
alert('No we do not play this song.');
}
}
var songList = ["Margaritaville", "Boys of Summer", "Somebody Like You"], findButton = document.getElementById("findSong"), songQuery = document.getElementById("liveSearchBox"); findButton.onclick = function() { if (typeof songQuery.value === 'undefined' || songQuery.value === null || songQuery.value === '') { alert('please input the song name.'); return false; } if (songList.indexOf(songQuery.value) > -1) { alert('Yes, we play "' + songQuery.value + '"!'); } else { alert('Sorry "' + songQuery.value + '" was not found!'); } };
<div class="live-search-list"> <input type="text" id="liveSearchBox" placeholder=" Search Songs or Artist"> <button id="findSong">Click to Find!</button> <ul id="songList"> <li class="song">Margaritaville</li> <li class="song">Boys of Summer</li> <li class="song">Somebody Like You</li> </ul> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.