我有一个名为 extraRank
的二维数组,其中包含名为 userA、userB、userC 和userD 每当我将它们插入其中时:
// users arrays:
userA = ["Sara Ree",18, "Doctor", "441", "31"];
userB = ["Marry",18, "Nurse", "41", "1"];
userC = ["John Doe",18, "Woker", "21", "31"];
userD = ["Alex Morph",18, "Musisian", "81", "51"];
// users arrays may be pushed to this array
let extraRank = [];
我想要的是一种有效的方法:
首先,检查 extraRank
中存在哪些用户数组。
然后,例如,如果 userA 存在,则执行此操作:
如果 extraRank.indexOf(userA) == 0
然后分配 userA_Index = 10;
如果 extraRank.indexOf(userA) == 1
然后分配 userA_Index = 9;
如果 extraRank.indexOf(userA) == 2
然后分配 userA_Index = 8;
如果 extraRank.indexOf(userA) == 3
然后分配 userA_Index = 7;
我知道一种方法是针对每个用户使用 if 语句,但我想知道是否有更有效的方法...
最佳答案
如果分配是线性的,如您的示例所示,您可以进行简单的减法:
userA_index = 10 - extraRank.indexOf(userA)
如果比较复杂,可以创建一个连接索引和结果的map对象,如:
const mapIndexToOutput = {
0: 10,
1: 9,
2: 8,
3: 7,
...
}
userA_index = mapIndexToOutput[extraRank.indexOf(userA)]
关于javascript - 如何优化我的代码中的条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55339310/