我有以下代碼來索引1處如何在不使用`var`的情況下重寫這段代碼?
const myArray = Array(1,2,3)
const myOtherArray = Array(1,3,4)
const myThirdArray = Array(1,5,7)
// Creates object from array and prints it
let toObject = function(x){
var myObject
if (x[1] == 2){
myObject = {first: x[0],
second: x[1],
third: x[2]
}
}
else if (x[1] == 3){
myObject = {first: x[0],
second: x[1]-1,
third: x[2]
}
}
else {
myObject = {first: x[0],
second: x[1]+1,
third: x[2]
}
}
return myObject
}
console.log(toObject(myThirdArray))
與上述實現的問題返回取決於數組元素的值的不同的目的是我定義myObject
並使用賦值語句。我想以「純粹功能」的方式來實現這一點,即避免可變性。在Scala或Haskell中,我想我可以使用模式匹配,但是我怎樣才能在Javascript中實現這一點?是否可以在不使用var
的情況下執行此操作?
再加上你可以刪除'else'是完全。只保留第二個「if」。 –
我不明白爲什麼技巧/噱頭的建議得到實際的代碼,而更多的「嚴重」的建議只是得到一個英文句子 – naomik
@naomik,因爲它寫得很有趣,不可能解釋沒有把它放滿,它傾向於嘮叨當我必須用代碼示例翻譯「只用return替換myObject」這樣的句子時。但是如果你需要的話,它還存在於所有其他的答案中。 – djechlin