J'ai des problèmes avec la question ci-dessous. Je dois écrire un code/une fonction qui retourne true si une partie de str1 peut être réorganisée en str2.Comment écrire une fonction qui retourne true si une partie de str1 peut être réarrangée en str2?
Brouille de fonction d'écriture (str1, str2) qui renvoie true si une partie des caractères str1 peut être réarrangée pour correspondre à str2, sinon renvoie false.
Par exemple: str1 est 'rkqodlw' et str2 est 'monde' la sortie doit renvoyer true. str1 est 'cedewaraaossoqqyt' et str2 est 'codewars' devrait retourner vrai. str1 est 'katas' et str2 est 'steak' devrait retourner false.
Seules les lettres minuscules seront utilisées (a-z). Aucune ponctuation ou chiffres ne seront inclus. Les performances doivent être prises en compte.
Ci-dessous le code actuel j'ai:
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;
}
Pourriez-vous s'il vous plaît me aider avec cette question?
Je suis confus, ne serait-il être aussi simple que de vérifier si tous les caractères '' str2' sont en str1', et si oui, vrai retour? – adeneo
Aussi, 'if (str1 || str2 ===" undefined ") {' ne fait pas ce que vous pensez probablement faire –