Algoritma ini hanya untuk referensi. Xiaocai pada dasarnya tidak memahami algoritma canggih dan hanya dapat mengekspresikannya dengan ide -ide paling sederhana.
Salinan kode adalah sebagai berikut:
// Cari tahu karakter non-repeat pertama di string
// firstUliquechar ("vdctdvc"); -> t
fungsi firstunquechar (str) {
var str = str || "",
i = 0,
k = "",
_char = "",
charmap = {},
result = {name: "", index: str.length};
untuk (i = 0; i <str.length; i ++) {
_char = str.charat (i);
if (charmap [_char]! = tidak terdefinisi) {
charmap [_char] = -1;
}kalau tidak{
charmap [_char] = i;
}
}
untuk (k in charmap) {
if (charmap [k] <0) {
melanjutkan;
}
if (result.index> charmap [k]) {
result.index = charmap [k];
result.name = k;
}
}
return result.name;
}
Jika Anda memiliki ide yang lebih baik, beri saya pesan. Saya sangat berterima kasih.