gpt4 book ai didi

javascript - 我的 Node.js 服务器上的奇怪输出 - 删除对象

转载 作者:行者123 更新时间:2023-12-02 17:49:00 24 4
gpt4 key购买 nike

我在终端中跟踪了 node.js 的输出:

Node 服务器.js

{ hand: 
[ [ [Object], [Object] ],
[ [Object], [Object] ],
[ [Object], [Object] ],
[ [Object], [Object] ] ],
deck:
[ { suit: 'c', rank: 'a' },
{ suit: 'd', rank: 'a' },
{ suit: 'h', rank: 'a' },
{ suit: 's', rank: 'a' },
{ suit: 'c', rank: 'k' },
{ suit: 'd', rank: 'k' },
{ suit: 'h', rank: 'k' },
{ suit: 's', rank: 'k' },
{ suit: 'c', rank: 'q' },
{ suit: 'd', rank: 'q' },
{ suit: 'h', rank: 'q' },
{ suit: 's', rank: 'q' },
{ suit: 'c', rank: 'j' },
{ suit: 'd', rank: 'j' },
{ suit: 'h', rank: 'j' },
{ suit: 's', rank: 'j' },
{ suit: 'c', rank: '10' },
{ suit: 'd', rank: '10' },
{ suit: 'h', rank: '10' },
{ suit: 's', rank: '10' },
{ suit: 'c', rank: '9' },
{ suit: 'd', rank: '9' },
{ suit: 'h', rank: '9' },
{ suit: 's', rank: '9' },
{ suit: 'c', rank: '8' },
{ suit: 'd', rank: '8' },
{ suit: 'h', rank: '8' },
{ suit: 's', rank: '8' },
,
,
,
,
,
,
,
] }

首先,为什么我看不到手里面的Object?我正在这个对象上执行console.dir。

第二,为什么我的逗号区域是空的?我只是删除牌组[i]

这可能更像是一个 JavaScript 问题:)

js:

function deal(num_cards,num_players,deck) {
var hand = [];
var i = deck.length - 1;
for (var p = num_players - 1; p >= 0; p--) {
var player = [];
for (var c = num_cards - 1; c >= 0; c--) {
player.push(deck[i]);
delete deck[i];
i--;
};
hand[p] = player;
};
return {"hand":hand,"deck":deck};
}

最佳答案

对于第一个问题:您的deck[i]没有toString方法。定义一个可以为您提供所需信息的输出,并将替换您获得的 [object Object] 输出。例如,如果您的数组包含 Card 对象,您可以这样做:

Card.prototype.toString = function() {
return 'suit=' + this.suit + ';rank=' + this.rank;
}

对于第二个问题:delete 确实不会删除该元素。它基本上将其设置为未定义。尝试改用deck.splice(i, 1)

关于javascript - 我的 Node.js 服务器上的奇怪输出 - 删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21529406/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com