所以这是我的代码
stem = "/*smth*/"
for (var i = stem.length - 1; i >= 0; i--) {
if (stem[i] == 'ա' && stem[i-1] == 'ե' && stem[i+1] != undefined) {
var alternated = stem.slice(0, i) + stem.slice(i+1)
} else if (stem[i] == 'ե' && stem[i+1] == 'ւ' && stem[i+2] != undefined) {
var alternated = stem.slice(0, i) + "ի" + stem.slice(i+1)
} else if (stem[i] == 'ո' && stem[i+1] == 'յ' && stem[i+2] != undefined) {
var alternated = stem.slice(0, i+1) + "ւ" + stem.slice(i+2)
} else if (stem[i] == 'ո' && stem[i+1] == 'ւ' && stem[i+2] != undefined) {
var alternated = stem.slice(0, i) + stem.slice(i+2)
} else if (stem[i] == 'ի' && stem[i+1] != undefined) {
var alternated = stem.slice(0, i) + stem.slice(i+1)
} else if (stem[i] == 'է' && stem[i+1] != undefined) {
var alternated = stem.slice(0, i) + "ի" + stem.slice(i+1)
} else {
alternated = stem
}
}
alert(alternated)
必须在某些情况下改变
stem
的值,在其他情况下不改变,并将改变/未改变的值赋予alternated
。但它不起作用,永远不要改变stem
,否则声明每次都有效。如果我删除 else 语句,一切都很好。我试着用 switch 写它,它有同样的问题,没有用default:
并且没有......工作得很好