为了账号安全,请及时绑定邮箱和手机立即绑定

从 Javascript 对象中删除项目

从 Javascript 对象中删除项目

一只名叫tom的猫 2023-04-20 10:16:30
我有一个从 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);            }希望我能够解释我自己。感谢您的帮助。
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

您需要使用splice删除特定索引


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

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

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

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

        resultPlayers.splice(player, 1);

    }

}


查看完整回答
反对 回复 2023-04-20
  • 1 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信