从 Javascript 对象中删除项目

我有一个从 sql 查询中获得的对象,我想删除其中的一个项目。问题是,在我删除它之后,该项目没有任何信息,但它仍然存在:


<1 empty item>

所以我想知道是否有办法完全删除它并拥有一个只有我的数据的干净对象。”代码是在数据库中的两个玩家之间建立匹配并且它曾经有效但我必须验证选定的玩家不是被排除在外的人,因为他们很奇怪,我想随机排除一个。所以我意识到简单地从对象中删除不打算参加比赛的玩家要容易得多.我会留下孔码。


    let tournamentID = args[0];

    let categoryID = args[1];

    let tournamentSQL = 'SELECT * FROM tournaments WHERE tournamentID = ?';

    let tournamentData = [tournamentID];

    let matchesCreated = 0;

    con.query(tournamentSQL, tournamentData, function(err, result){

        if(err) throw err;

        let playersSQL = "SELECT * FROM players WHERE tournamentID = ?";

        if(result.length == 0){

            return message.channel.send('Ingresaste un TournamentID incorrecto');

        };

        if (result[0].modality > 1){

            return message.channel.send('Este torneo es por equipos, usa .partidosequipos');

        };

        let actualRound = result[0].actualRound + 1;

        con.query(playersSQL, tournamentData, function(err, resultPlayers){

            if(resultPlayers.length == 0){

                return message.channel.send('Este torneo no tiene jugadores.');

            };

            if(err) throw err;

            let roundPlayers = resultPlayers.length - 1;

            if(resultPlayers.length % 2 != 0){

                let player = Math.round(Math.random() * roundPlayers);

                console.log(player);

                message.channel.send(`La cantidad de jugadores en el torneo es impar, el jugador ${resultPlayers[player]} no jugará en esta ronda y ya clasificó a la siguiente`);

                delete resultPlayers[player];

                matchCreating(roundPlayers, resultPlayers, result, categoryID, client, message, actualRound);

            } else{

                matchCreating(roundPlayers, resultPlayers, result, categoryID, client, message, actualRound);

            }

希望我能够解释我自己。感谢您的帮助。


一只名叫tom的猫
浏览 79回答 1
1回答

动漫人物

您需要使用splice删除特定索引var playersSQL = "SELECT * FROM players WHERE tournamentID = ?";con.query(playersSQL, tournamentData, function(err, resultPlayers){&nbsp; &nbsp; if(resultPlayers.length % 2 != 0){&nbsp; &nbsp; &nbsp; &nbsp; let player = Math.round(Math.random() * roundPlayers);&nbsp; &nbsp; &nbsp; &nbsp; resultPlayers.splice(player, 1);&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript