tiny optimisation in insert(word: String)

This commit is contained in:
neon443
2025-11-03 16:39:46 +00:00
parent f6f73b641d
commit a3bce28065
2 changed files with 3 additions and 2 deletions

View File

@@ -21,6 +21,7 @@ class Trie: ObservableObject {
let word = word.lowercased() let word = word.lowercased()
var currentNode = root var currentNode = root
let indices = word.indices let indices = word.indices
let last = indices.last
for i in indices { for i in indices {
let char = word[i] let char = word[i]
@@ -30,7 +31,7 @@ class Trie: ObservableObject {
currentNode.children[char] = TrieNode() currentNode.children[char] = TrieNode()
currentNode = currentNode.children[char]! currentNode = currentNode.children[char]!
} }
if i == indices.last { if i == last {
currentNode.isEndOfWord = true currentNode.isEndOfWord = true
} }
} }

View File

@@ -18,9 +18,9 @@ class EmojiHoarder: ObservableObject {
private let decoder = JSONDecoder() private let decoder = JSONDecoder()
@Published var emojis: [Emoji] = [] @Published var emojis: [Emoji] = []
@Published var trie: Trie = Trie() @Published var trie: Trie = Trie()
@Published var filteredEmojis: [String] = [] @Published var filteredEmojis: [String] = []
@Published var prefix: Int = 100
init(localOnly: Bool = false) { init(localOnly: Bool = false) {
let localDB = loadLocalDB() let localDB = loadLocalDB()