Skip to main content

Function: caseInsensitive()

caseInsensitive<T>(fn): Comparator<T>

Defined in: compare/advanced/index.ts:37

Creates a case-insensitive string comparator.

Convenience wrapper for byString with caseSensitive: false.

Type Parameters

T

T

Parameters

fn

ComparableExtractor<T, string>

Function to extract the string value

Returns

Comparator<T>

A case-insensitive comparator

Example

interface File {
name: string
extension: string
}

const files = [
{ name: 'README.md', extension: 'md' },
{ name: 'index.ts', extension: 'ts' },
{ name: 'App.tsx', extension: 'tsx' },
{ name: 'package.json', extension: 'json' }
]

// Case-sensitive (default) - uppercase comes first
files.sort(byString(f => f.name))
// => [App.tsx, README.md, index.ts, package.json]

// Case-insensitive - alphabetical regardless of case
files.sort(caseInsensitive(f => f.name))
// => [App.tsx, index.ts, package.json, README.md]

See

  • byString - for more string comparison options
  • natural - for natural string sorting (handles numbers)