gpt4 book ai didi

Javascript/React.js 相当于 Ruby .select{ |x|健康)状况 }

转载 作者:行者123 更新时间:2023-12-03 08:49:37 26 4
gpt4 key购买 nike

我在 javascript (React.j) 中编写了以下使用 for 循环的函数:

getOpponentTeam: function(playerTeamId){
var matches = this.state.matches;
var player_team = this.state.player.team.name
for (i in matches){
if (matches[i].home_team_id == playerTeamId){
var result = player_team + " vs. " + this.getTeamName( matches[i].away_team_id )
}
else if (matches[i].away_team_id == playerTeamId){
var results = this.getTeamName( matches[i].home_team_id ) + " vs. " + player_team
}
else {
var result = "Not playing"
}
return result
};
},

问题是,for 循环的工作方式,大多数时候它会返回“Not Playing”,即使“matches”包含满足条件的数据。这是因为for循环短路了。

有没有一种方法可以像在 ruby​​ 中那样通过说 matches.select{ |x| 来减少匹配数组某些条件}?

最佳答案

您的代码存在一些问题。

<强>1。 for 循环的错误使用。

您正在循环遍历一个数组,就好像它是一个对象一样。您需要使用以下实现:

for ( var i = 0; i < matches.length; i++) {
if (matches[i].home_team === playerTeamId) {
// etc
}
}

<强>2。您将在第一次迭代中返回

正如 Nit 在评论中指出的那样,您将返回第一个循环,因此它无法继续。

<强>3。回答您想要的问题

我对Ruby不熟悉,但我想你可能会问 UnderscoreJS 中的过滤操作.

关于Javascript/React.js 相当于 Ruby .select{ |x|健康)状况 },我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32741436/

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