Function indexOfNeedle

  • Returns the index of the first occurrence of the needle array in the source array, or -1 if it is not present.

    A start index can be specified as the third argument that begins the search at that given index. The start index defaults to the start of the array.

    The complexity of this function is O(source.length * needle.length).

    Parameters

    • source: Uint8Array

      Source array to check.

    • needle: Uint8Array

      Needle array to check for.

    • start: number = 0

      Start index in the source array to begin the search. Defaults to 0.

    Returns number

    Index of the first occurrence of the needle array in the source array, or -1 if it is not present.

    import { indexOfNeedle } from "@std/bytes/index-of-needle";
    import { assertEquals } from "@std/assert";

    const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
    const needle = new Uint8Array([1, 2]);
    const notNeedle = new Uint8Array([5, 0]);

    assertEquals(indexOfNeedle(source, needle), 1);
    assertEquals(indexOfNeedle(source, notNeedle), -1);
    import { indexOfNeedle } from "@std/bytes/index-of-needle";
    import { assertEquals } from "@std/assert";

    const source = new Uint8Array([0, 1, 2, 1, 2, 1, 2, 3]);
    const needle = new Uint8Array([1, 2]);

    assertEquals(indexOfNeedle(source, needle, 2), 3);
    assertEquals(indexOfNeedle(source, needle, 6), -1);

    Defining a start index will begin the search at the specified index in the source array.