let str = "srtdddddddvjgkhjhfvgvvg"
function unique(str) {
// 1.字符串转数组
let arr = str.split('')
let newArr = []
// 2.通过双重for循环进行数组每一项的比较
for (let i = 0; i < arr.length; i++) {
for (let j = i + 1; j < arr.length; j++) {
if (arr[i] === arr[j]) {
// 3.找到两个不同下标但值相同的字符串,返回两者之间的数组每一项转为字符串,形成新的数组的 数组的项
newArr.push(arr.slice(i + 1, j).join(''))
}
}
}
// 4.判断输入值是否有相同字符串之间的子字符串
// 如果有则返回最长的子字符串
// 如果返回的最长字符串结果为空返回0
// 如果没有子字符串就返回-1
console.log(newArr);
if (newArr.length !== 0) {
// 5.通过sort将数组由,内容最长到最短排序,通过下标0可取到 对应 最长的子字符串 并返回出去
newArr.sort((a, b) => b.length - a.length);
if (!newArr[0]) {
// 6.返回的最长字符串为空结果返回0
return 0
}
return newArr[0];
} else {
// 7.没有子字符串就返回结果-1
return -1
}
}
console.log(unique(str)); // jgkhjhfvgv