Verwendung

Objekt-Array

Fuzzy-Suche in einem Array von Objekten

Elemente in einer Objektliste finden

Nach direkter Eigenschaft

Wenn du nach einem direkten Schlüssel eines Objekts filtern möchtest, verwende die Option key.

index.ts
const liste = [
  { name: "volvo", year: 2020 },
  { name: "seat", year: 2019 },
  { name: "mercedes", year: 2021 },
]
 
const fuzzySearch = fuzzy(liste, {
  key: 'name',
})

Nach verschachtelter Eigenschaft

Wenn du nach einer verschachtelten Eigenschaft suchst, nutze getKey.

index.ts
const liste = [
  { name: "volvo", year: 2020, owner: { fullname: "John Doe" } },
  { name: "seat", year: 2019, owner: { fullname: "Jane Doe" } },
  { name: "mercedes", year: 2021, owner: { fullname: "John Smith" } },
]
 
const fuzzySearch = fuzzy(liste, {
  getKey: (item) => [item.owner.fullname],
})

Nach mehreren Eigenschaften

Um nach mehreren Eigenschaften gleichzeitig zu filtern, verwende getKey.

index.ts
const liste = [
  { name: "volvo", year: 2020, owner: { fullname: "John Doe" } },
  { name: "seat", year: 2019, owner: { fullname: "Jane Doe" } },
  { name: "mercedes", year: 2021, owner: { fullname: "John Smith" } },
]
 
const fuzzySearch = fuzzy(liste, {
  getKey: (item) => [item.name, item.owner.fullname],
})

Für weitere Beispiele siehe die Beispiele-Sektion.

Referenzen

Optionen

Die Eigenschaften von fuzzy sind die folgenden:

PropTypeDefault
key?
keyof T
undefined
getKey?
(item: T) => (string | null)[]
undefined
debug?
boolean
false
limit?
number
Number.MAX_SAFE_INTEGER
maxScore?
number
100
mapResult?
MapResult<T, U>
(result) => result.item

Antwort

Das Ergebnis wird ein Objekt mit den folgenden Eigenschaften sein:

PropTypeDefault
results
Result<T>[]
""
length
number
0
time
number
0
normalizedQuery
string
""
hasExactMatch
boolean
false
bestMatch
Result<T>
null
hasResults
boolean
false

Ergebnisse

PropTypeDefault
item
NonNullable<T>
null
score
number
0
matches
Matches
null
Edit on GitHub

Last updated on

On this page