Javascript 映射函数中的特定映射函数
我想这里更多的是关于逻辑的问题。我正在努力实现这样的目标:Javascript 映射函数中的特定映射函数,javascript,reactjs,Javascript,Reactjs,我想这里更多的是关于逻辑的问题。我正在努力实现这样的目标: playersArray.map(player1 => playersArray.map(player2 => <ul> <li>{player1}</li> : <li>{player2</li> </ul> )) 我有四个玩家: const playersArray = ['player1', 'player2', 'pla
playersArray.map(player1 => playersArray.map(player2 =>
<ul>
<li>{player1}</li> :
<li>{player2</li>
</ul>
))
我有四个玩家:
const playersArray = ['player1', 'player2', 'player3', 'player4'];
他们每个人都互相比赛,但只有一次,没有重赛
很明显,玩家1不能和玩家1一起玩。但是玩家1和玩家2之间只有一场比赛。有player1:player2,但我们不需要player2:player1
我试图在映射方法中使用映射方法,类似于:
playersArray.map(player1 => playersArray.map(player2 =>
<ul>
<li>{player1}</li> :
<li>{player2</li>
</ul>
))
playerArray.map(player1=>playerArray.map(player2=>
- {player1}
:
- {player2
))
避免玩家玩自己游戏的场景也很容易(条件渲染)。但对我来说,问题是避免重赛
谢谢!一个选项是在数组上循环,并在主循环的当前索引之后在数组的其余部分上创建一个内部循环,以获得所有可能的匹配: 示例
function App() {
const playersArray = ["player1", "player2", "player3", "player4"];
const content = [];
for (let i = 0; i < playersArray.length; i++) {
for (let j = i + 1; j < playersArray.length; j++) {
content.push(
<div>
{[playersArray[i]]} : {playersArray[j]}
</div>
);
}
}
return <div>{content}</div>;
}
函数应用程序(){
常量playerArray=[“player1”、“player2”、“player3”、“player4”];
常量内容=[];
for(设i=0;i
playersArray.map((播放器,索引)=>
PlayerArray.slice(索引+1).map(其他玩家=>
(
- {玩家}:{另一个玩家}
)
)
);
你要找的是“长度2的所有组合”,这对谷歌搜索应该有帮助。