我试图主要简化if语句。如您所见,我为文本着色,并且这种方式有效,但是if语句中有很多重复的代码。任何帮助将不胜感激,谢谢。
const colorText = ( message, colorr ) => {
let mesge = []
for (let i = 0; i < message.length; i++){
//TRYING TO SIMPLIFY THIS CODE BELOW\\//TRYING TO SIMPLIFY THIS CODE BELOW\\
//TRYING TO SIMPLIFY THIS CODE BELOW\\//TRYING TO SIMPLIFY THIS CODE BELOW\\
if(i===0 || i===5 || i===10 || i===15 || i===20) {colorr[i] = colorr[0]}
if(i===1 || i===6 || i===11 || i===16 || i===21) {colorr[i] = colorr[1]}
if(i===2 || i===7 || i===12 || i===17 || i===22) {colorr[i] = colorr[2]}
if(i===3 || i===8 || i===13 || i===18 || i===23) {colorr[i] = colorr[3]}
if(i===4 || i===9 || i===14 || i===19 || i===24) {colorr[i] = colorr[4]}
mesge[i] = (
<span style={{ color: colorr[i]}}>
{message[i]}
</span>
)
}
return mesge
// console.log(message)
// console.log(color)
}
答案 0 :(得分:3)
如何使用remainder operator %
:
colorr[i] = colorr[i % 5];
答案 1 :(得分:1)
只需将余数取五。
colorr[i] = colorr[i % 5];
答案 2 :(得分:1)
您可以使用除法残差(通过符号%取模)。例如,3%2返回3除以2的余数,在这种情况下为1。在您的条件中,您正在使用5的倍数,将除以1的余数除以5,保留余数的数字2除以5,依此类推...这样的代码如下:
const colorText = ( message, colorr ) => {
let mesge = []
for (let i = 0; i < message.length; i++){
colorr[i] = color[i % 5]
mesge[i] = (
<span style={{ color: colorr[i]}}>
{message[i]}
</span>
)
}
return mesge
}