Kev*_*ndy 1 javascript arrays sorting if-statement
我有六个字母[a,b,c,d,e,f]
和两个用户[bob,bender]
。他们都有代表他们的字母的不同排列,想想个性得分。鲍勃是[e,f,c,b,a,d]
,本德是[b,a,d,f,e,c]
。
我也有一张图表可以把这些放在上面。按顺序,每个字母在图表上都有自己的条形,刻度线最多为 6。
根据字母出现在列表中的位置,它会分配一个数字值。第一个字母的值为 6,第二个字母的值为 5,依此类推。
最终数组需要按 abc 顺序排列,但每个字母都有正确的值。示例:Bob 将以[2,3,4,1,6,5]
.
你会怎么做?
我能想到的唯一方法是大量的 if 语句,我想看看是否有更好的方法。
我还是 Javascript 的新手。
你可以使用Array.map()
和Array.indexOf()
。
const bob = ['e','f','c','b','a','d'];
const bender = ['b','a','d','f','e','c']
const letters = ['a','b','c','d','e','f']
const bobFinal = letters.map(e =>
6 - bob.indexOf(e)
);
const benderFinal = letters.map(e =>
6 - bender.indexOf(e)
);
console.log(bobFinal);
console.log(benderFinal);
Run Code Online (Sandbox Code Playgroud)
这是一个可以使用的函数:
const final = arr =>
letters.map(e =>
6 - arr.indexOf(e)
)
);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
50 次 |
最近记录: |