だから、基本的に。私がしようとしているのは、スクランブルされた単語を入れてそれを解読する単語解読不能語を作成することです。それはうまく動作しますが、私は個々の文字を個別にチェックしますが、何らかの理由で余分な文字がスリップします。余分な文字...?
"olehl (hello)"
と入力すると、"dhole, haole, helio, hello, helos, helot, holed, holes, holey, hosel, hotel, hovel, hoyle, mohel, sheol, thole, whole"
が返されます。私は"mohel"
と"dhole"
のようなものがどのようにそこに入ったのか分かりません。
マイコード:
function unscramble(word) {
var words = require("an-array-of-english-words");
var matched = [];
words.forEach((x) => {
if(word.length != x.length) {
} else {
if(matched.length == 42) return;
var newword = word.split('');
var added = 0;
var i = 0;
for(i = 0; i <= newword.length-1; i++) {
if(x.indexOf(newword[i]) >= 0) added++;
if(i == word.length-1 && added == word.length && added == x.length) matched.push(x);
}
}
});
return matched;
}
あなたはそれをデバッグする必要があります。デバッガまたはprintステートメントを使用してコードを1行ずつ実行し、余分な文字がどこに挿入されているかを調べます。 – Carcigenicate
私は、 "newword"文字列は決して変更しています。 – Anthemius
さて、彼らはどこかに入ってきています。もう一度やり直す必要があります。 'matched.push'で行を見て、悪い文字の単語が追加されるまで待ってから、その単語の出所を見つけ出してください。 – Carcigenicate