Sha256: 387e8ef48a8daaedbc140a87d050004a3ed8f45b17d7397079641257abb4ddeb

Contents?: true

Size: 452 Bytes

Versions: 132

Compression:

Stored size: 452 Bytes

Contents

interface Predicate<T> {
  (element: T): boolean
}

export function keep<T>(array: T[], predicate: Predicate<T>): T[] {
  const output: T[] = []
  array.forEach((el: T) => {
    if (predicate(el)) {
      output.push(el)
    }
  })
  return output
}

export function discard<T>(array: T[], predicate: Predicate<T>): T[] {
  const output: T[] = []
  array.forEach((el: T) => {
    if (!predicate(el)) {
      output.push(el)
    }
  })
  return output
}

Version data entries

132 entries across 132 versions & 1 rubygems

Version Path
trackler-2.2.1.58 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.57 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.56 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.55 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.54 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.53 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.52 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.51 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.50 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.49 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.48 tracks/typescript/exercises/strain/strain.example.ts
trackler-2.2.1.47 tracks/typescript/exercises/strain/strain.example.ts