下の質問で困っています。基本的に、str1 の一部を str2 に再配置できる場合に true を返すコード/関数を作成する必要があります。
str1 文字の一部を再配置して str2 に一致させることができる場合は true を返し、それ以外の場合は false を返す関数 scramble(str1,str2) を記述します。
例: str1 は 'rkqodlw' で、str2 は 'world' です。出力は true を返す必要があります。str1 は「cedewaraossoqqyt」であり、str2 は「codewars」であり、true を返す必要があります。str1 が「katas」で str2 が「steak」の場合、false が返されます。
小文字のみが使用されます (az)。句読点や数字は含まれません。パフォーマンスを考慮する必要があります。
以下は私が持っている現在のコードです:
function scramble(str1, str2) {
var first; //longer string
var second; //shorter string
if(str1 || str2 === "undefined") {
return false;
}
if(str1.length > str2.length) {
first = str1;
second = str2
} else if(str2.length > str1.length) {
first = str2;
second = str1;
}
for (i=0; i<second.length; i++) {
if (first.indexOf(second[i]) === -1) {
return false;
}
}
return true;
}
この質問について教えてください。