最近我在检查某个输入(玩家姓名)是否已被输入多次时遇到问题。这不是数据库内的,而是基于 JavaScript 中包含的数组。经过几次谷歌搜索后我一直在使用的是indexOf()函数。然而这似乎不起作用。我的代码如下:
var numberPlayers = 1;
var players = [];
var AddPlayer = function() {
if(!(players.indexOf($(".name")).val() > -1)) {
players.push($(".name").val());
$(".players").append("<p>Player number " + numberPlayers + " is " + $(".name").val() + "</p>");
numberPlayers++;
}
};
您推荐什么检测方法?我尝试过循环,但也不起作用。
编辑:更新了代码。还是不行!
最佳答案
试试这个 - 记下 )
的放置位置:
if(!(players.indexOf($(".name").val()) > -1)) {
而不是:
if(!(players.indexOf($(".name")).val() > -1)) {
实际上,为了可读性,这会更好:
var name = $('.name').val();
if ( players.indexOf(name) == -1)) {
一般来说,尝试添加 console.log
和断点来查找错误...
关于javascript - 检测之前是否已输入过输入内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24987088/