Javascript 检测之前是否输入了输入

Javascript 检测之前是否输入了输入,javascript,arrays,loops,Javascript,Arrays,Loops,最近我在检查一个输入(玩家名)是否被多次输入时遇到了问题。这不在数据库中,而是基于JavaScript中包含的数组。经过几次谷歌搜索后,我一直在使用indexOf()函数。然而,这似乎不起作用。我的代码如下: var numberPlayers = 1; var players = []; var AddPlayer = function() { if(!(players.indexOf($(".name")).val() > -1)) { players.pus

最近我在检查一个输入(玩家名)是否被多次输入时遇到了问题。这不在数据库中,而是基于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++;
    }
};
var numberPlayers=1;
var=[];
var AddPlayer=函数(){
if(!(players.indexOf($(“.name”)).val()>-1)){
players.push($(“.name”).val());
$(“.players”).append(“播放器编号”+numberPlayers+”是“++$(.name”).val()+”

”; numberPlayers++; } };
你会推荐什么样的检测方法?我试过循环,但也不行


编辑:更新代码。还是不行

试试这个-注意
的位置:

if(!(players.indexOf($(".name").val()) > -1)) {
而不是:

if(!(players.indexOf($(".name")).val() > -1)) {
实际上,为了可读性,这会更好:

var name = $('.name').val();
if ( players.indexOf(name) == -1)) {

通常,请尝试添加
console.log
和断点以查找您的bug…

尝试此操作-注意
的位置:

if(!(players.indexOf($(".name").val()) > -1)) {
而不是:

if(!(players.indexOf($(".name")).val() > -1)) {
实际上,为了可读性,这会更好:

var name = $('.name').val();
if ( players.indexOf(name) == -1)) {

通常,请尝试添加
console.log
和断点以查找您的bug…

尝试此操作-注意
的位置:

if(!(players.indexOf($(".name").val()) > -1)) {
而不是:

if(!(players.indexOf($(".name")).val() > -1)) {
实际上,为了可读性,这会更好:

var name = $('.name').val();
if ( players.indexOf(name) == -1)) {

通常,请尝试添加
console.log
和断点以查找您的bug…

尝试此操作-注意
的位置:

if(!(players.indexOf($(".name").val()) > -1)) {
而不是:

if(!(players.indexOf($(".name")).val() > -1)) {
实际上,为了可读性,这会更好:

var name = $('.name').val();
if ( players.indexOf(name) == -1)) {
通常,请尝试添加
console.log
和断点来查找您的bug…

为此:

$.inArray(value, array)
它返回数组中值的索引。如果数组不包含该值,则返回-1。

为此:

$.inArray(value, array)
它返回数组中值的索引。如果数组不包含该值,则返回-1。

为此:

$.inArray(value, array)
它返回数组中值的索引。如果数组不包含该值,则返回-1。

为此:

$.inArray(value, array)
它返回数组中值的索引。如果数组不包含该值,则返回-1。

您可以使用对象(读取集/哈希)而不是数组;无论如何,它应该更快。 注意,我还使用了.text(),它将转义文本

var numberPlayers = 1;
var players = {};
var AddPlayer = function() {
    var newPlayer = $(".name").val();
    if(!(newPlayer in players)) {
        players[newPlayer] = true;
        $(".players").append($("<p>").text("Player number " + numberPlayers + " is " + newPlayer));
        numberPlayers++;
    }
};
var numberPlayers=1;
var玩家={};
var AddPlayer=函数(){
var newPlayer=$(“.name”).val();
如果(!(玩家中的新玩家)){
玩家[新玩家]=真;
$(“.players”).append($(“”).text(“播放器编号”+numberPlayers+“是”+newPlayer));
numberPlayers++;
}
};
您可以使用对象(读取集/哈希)而不是数组;无论如何,它应该更快。 注意,我还使用了.text(),它将转义文本

var numberPlayers = 1;
var players = {};
var AddPlayer = function() {
    var newPlayer = $(".name").val();
    if(!(newPlayer in players)) {
        players[newPlayer] = true;
        $(".players").append($("<p>").text("Player number " + numberPlayers + " is " + newPlayer));
        numberPlayers++;
    }
};
var numberPlayers=1;
var玩家={};
var AddPlayer=函数(){
var newPlayer=$(“.name”).val();
如果(!(玩家中的新玩家)){
玩家[新玩家]=真;
$(“.players”).append($(“”).text(“播放器编号”+numberPlayers+“是”+newPlayer));
numberPlayers++;
}
};
您可以使用对象(读取集/哈希)而不是数组;无论如何,它应该更快。 注意,我还使用了.text(),它将转义文本

var numberPlayers = 1;
var players = {};
var AddPlayer = function() {
    var newPlayer = $(".name").val();
    if(!(newPlayer in players)) {
        players[newPlayer] = true;
        $(".players").append($("<p>").text("Player number " + numberPlayers + " is " + newPlayer));
        numberPlayers++;
    }
};
var numberPlayers=1;
var玩家={};
var AddPlayer=函数(){
var newPlayer=$(“.name”).val();
如果(!(玩家中的新玩家)){
玩家[新玩家]=真;
$(“.players”).append($(“”).text(“播放器编号”+numberPlayers+“是”+newPlayer));
numberPlayers++;
}
};
您可以使用对象(读取集/哈希)而不是数组;无论如何,它应该更快。 注意,我还使用了.text(),它将转义文本

var numberPlayers = 1;
var players = {};
var AddPlayer = function() {
    var newPlayer = $(".name").val();
    if(!(newPlayer in players)) {
        players[newPlayer] = true;
        $(".players").append($("<p>").text("Player number " + numberPlayers + " is " + newPlayer));
        numberPlayers++;
    }
};
var numberPlayers=1;
var玩家={};
var AddPlayer=函数(){
var newPlayer=$(“.name”).val();
如果(!(玩家中的新玩家)){
玩家[新玩家]=真;
$(“.players”).append($(“”).text(“播放器编号”+numberPlayers+“是”+newPlayer));
numberPlayers++;
}
};

这种语法,它应该做什么
$”.name“
您可以第一次将特定类添加到输入中,每次用户关注输入时,您都可以检查输入是否有该类。@Herbstein
$
是jQuery函数,但
$”.name“
不是有效的JavaScript。请验证您是否正确复制和粘贴了代码。我知道什么是jQuery(请参阅我的答案历史记录)。我相信你的意思是
$(“.name”)
。另外,我相信您想要查找
!==-1
,这意味着找不到它。现在你只能找到匹配项。(jQuery也是一个库,而不是一个框架;Ember.js是一个框架。)@AlirezaAhmadi你能给我举个例子吗?输入来自文本类型的输入,由按钮类型的输入提交并附加到ul。我刚刚在上面的代码中添加了
  • 。这个语法,它应该做什么
    $”.name“
    您可以第一次将特定类添加到输入中,每次用户关注输入时,您都可以检查输入是否有该类。@Herbstein
    $
    是jQuery函数,但
    $”.name“
    不是有效的JavaScript。请验证您是否正确复制和粘贴了代码。我知道什么是jQuery(请参阅我的答案历史记录)。我相信你的意思是
    $(“.name”)
    。另外,我相信您想要查找
    !==-1
    ,这意味着找不到它。现在你只能找到匹配项。(jQuery也是一个库,而不是一个框架;Ember.js是一个框架。)@AlirezaAhmadi你能给我举个例子吗?输入来自文本类型的输入,由按钮类型的输入提交并附加到ul。我刚刚在上面的代码中添加了
  • 。这个语法,它应该做什么
    $”.name“
    您可以第一次和每次将特定类添加到输入中