gpt4 book ai didi

javascript - 通过循环访问数组中对象的属性时,仅获取第一个元素

转载 作者:行者123 更新时间:2023-12-02 15:34:29 24 4
gpt4 key购买 nike

对我来说,将我的问题放入一个简短的标题中有点困难,所以这就是交易。我在一个对象上有两个函数。这些是:

returnPlayers: function() {
return this.players;
},

returnPlayerNames: function() {
for (var i = 0; i < this.players.length; i++) {
return this.players[i].name;
}
}

第一个的输出是:

[ 玩家 {
socket :
socket {
nsp:[对象],
服务器:[对象],
适配器:[对象],
id: 'CyrH8LGDRtmaWWUzAAAD',
客户:[对象],
康恩:[对象],
房间:[对象],
确认:{},
连接:真实,
断开连接:假,
握手:[对象],
_事件:[对象],
_eventsCount: 3 },
名称:'富',
得分:0 },
玩家{
socket :
socket {
nsp:[对象],
服务器:[对象],
适配器:[对象],
id: 'nCCYjPFfkd1JaSDXAAAC',
客户:[对象],
康恩:[对象],
房间:[对象],
确认:{},
连接:真实,
断开连接:假,
握手:[对象],
_事件:[对象],
_eventsCount: 3 },
名称:“酒吧”,
得分:0}]

我们可以清楚地看到,数组中有两个对象。然而,第二个对象的输出(应该只返回名称)只是第一个对象的名称:Foo

我做错了什么?输出来自 ofc 的 console.log()

最佳答案

当您返回时,函数结束。 for 循环的其余部分将不会运行。这是你必须做的。

returnPlayerNames: function() {
var output = [];
for (var i = 0; i < this.players.length; i++) {
output.push(this.players[i].name);
}
return output;
}

这将创建一个新数组并将每个玩家的名字添加到其中。有一天,每当 ES7 启动时,我们就能够像在 Python 中一样在一行中完成此操作。

return [player.name for player in players]

future 将会非常美好。但在那之前,我说的第一件事必须要做。

关于javascript - 通过循环访问数组中对象的属性时,仅获取第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33055830/

24 4 0
文章推荐: javascript - 如何从TexturePacker生成的JSON读取 trim Sprite 的中心?
文章推荐: javascript - 如何定位下一个
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com