Hyperlinkv0.8.0-beta.28

Array

Array.replaceconsteffect/Array.ts:1918
<B>(i: number, b: B): <A, S extends Iterable<A> = Iterable<A>>(
  self: S
) => Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>
<A, B, S extends Iterable<A> = Iterable<A>>(
  self: S,
  i: number,
  b: B
): Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>

Replaces the element at the specified index safely with a new value, returning the updated array in Option.some.

When to use

Use to set a fixed replacement value at a specific index.

Details

Returns Option.none() when the index is out of bounds.

Example (Replacing an element)

import { Array } from "effect"

console.log(Array.replace([1, 2, 3], 1, 4)) // Option.some([1, 4, 3])
Source effect/Array.ts:191813 lines
export const replace: {
  <B>(i: number, b: B): <A, S extends Iterable<A> = Iterable<A>>(
    self: S
  ) => Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>
  <A, B, S extends Iterable<A> = Iterable<A>>(
    self: S,
    i: number,
    b: B
  ): Option.Option<ReadonlyArray.With<S, ReadonlyArray.Infer<S> | B>>
} = dual(
  3,
  <A, B>(self: Iterable<A>, i: number, b: B): Option.Option<Array<A | B>> => modify(self, i, () => b)
)