<script>
// D'abord encapsulez une vérification de méthode pour déterminer si le tableau a des doublons
vérification de fonction(arr) {
// Déclare un objet vide pour enregistrer le nombre d'occurrences de chaque élément du tableau
soit obj = {} ;
for (let i = 0; i < arr.length; i++) {
soit char = arr[i] ;
//Si cet élément n'apparaît pas dans l'objet, définissez la clé dans l'objet et la valeur est 1, sinon ajoutez-en une
si (obj[car] == non défini) {
obj[car] = 1
} autre {
obj[car]++
}
}
pour (laisser k dans obj) {
si (obj[k] > 1) {
// S'il y a plus d'une occurrence dans l'objet, il est faux et renvoie faux
retourner faux
}
}
retourner vrai
}
fonction jugeFils(str) {
soit arr = [] ;
for (let i = 0; i < str.length; i++) {
laisser compter = 0 ;
// Ce tableau est utilisé pour contenir des éléments de chaîne et est utilisé pour déterminer s'il existe des doublons
soit arr2 = [] ;
arr2.push(str.charAt(i));
for (let j = i + 1; j < str.length; j++) {
// mettre dans le tableau
arr2.push(str.charAt(j))
//Pour déterminer si le tableau arr2 a des doublons, utilisez la méthode de vérification encapsulée avant
si (!vérifier(arr2)) {
//s'il y a des doublons
arr2.pop()//Supprimer le dernier
compte = arr2.longueur ;
//Sortie de la boucle
casser;
} autre {
// pas de doublons
compte = arr2.longueur ;
}
}
//Pousser dans arr pour une comparaison ultérieure
arr.push(count)
}
// trouve la valeur maximale
laissez max = Math.max(...arr);
// Boucle dans le tableau pour trouver la valeur maximale
soit arr_total = [] ;
for (let k = 0; k < arr.length; k++) {
si (arr[k] == max) {
arr_total.push(k)
}
}
arr_total.forEach(item => {
console.log(`Lorsque l'indice est ${item}, il y a la plus grande sous-chaîne non répétée, le nombre est ${max}`)
})
}
jugeFils("abcdabjsjkfewnka")
</script>