gar*_*ard 3 javascript logic function
我有这个功能。效果很好。有没有办法缩短逻辑?
function doNotDuplicateRandomIndex() {
if (randomIndex === 0 || randomIndex === 1 || randomIndex === 2 || randomIndex ===3) {
createRandomIndex();
}
}
Run Code Online (Sandbox Code Playgroud)
我没有尝试过其他任何事情,只是因为我不知道从哪里开始。
使用小于 ( <)运算符。不客气。
function doNotDuplicateRandomIndex() {
if (randomIndex < 4) {
createRandomIndex();
}
}
Run Code Online (Sandbox Code Playgroud)
事实上,通过从if...else语句中删除括号,这甚至可以更短。
请参阅:JavaScript 中的单行语句中是否需要大括号?
function doNotDuplicateRandomIndex() {
if (randomIndex < 4) createRandomIndex();
}
Run Code Online (Sandbox Code Playgroud)
疯狂的是,我们可以通过将其转换为箭头函数表达式来使整个函数变得更短。
该if...else语句被替换为逻辑 AND ( &&)运算符。
const doNotDuplicateRandomIndex = () => randomIndex < 4 && createRandomIndex();
Run Code Online (Sandbox Code Playgroud)
XMehdi01的回答很好,同样的概念也可以转换为箭头函数表达式。
const doNotDuplicateRandomIndex = () => [0, 1, 2, 3].includes(randomIndex) && createRandomIndex();
Run Code Online (Sandbox Code Playgroud)