item插入到数组,在原数组中改变

插入的item

要插入的位置 如果to是函数的话没有找到则不会插进数组

要插入item的数组

默认插到前面去

是否反向遍历

实际插入的位置

  • item插入到数组,在原数组中改变

    插入单个,静态目标

    类型参数

    • T

    参数

    • insert: T

      插入的item

    • to: number

      要插入的位置

    • array: T[]

      要插入item的数组

    • 可选param: {
          after?: boolean;
      }

      可选参数

      • 可选after?: boolean

        插入位置前后,true为后

    返回 number

    实际插入的位置

    let arr: number[];

    // 插入单个 静态位置
    arr = [1, 2, 3, 2];
    insertToArray(5, 1, arr); // 1
    arr; // [1, 5, 2, 3, 2]
    // 恢复
    arr = [1, 2, 3, 2];
    // 插到目标位置后面
    insertToArray(5, 1, arr, { after: true }); // 2
    arr; // [1, 2, 5, 3, 2]
    // 恢复
    arr = [1, 2, 3, 2];
    // 负号位置
    insertToArray(5, -1, arr, { after: false }); // 3
    arr; // [1, 2, 3, 5, 2]
  • item插入到数组,在原数组中改变

    插入多个,静态目标

    类型参数

    • T

    参数

    • inserts: T[]

      插入的items

    • to: number

      要插入的位置

    • array: T[]

      要插入item的数组

    • 可选param: {
          after?: boolean;
      }

      可选参数

      • 可选after?: boolean

        插入位置前后,true为后

    返回 number

    实际插入的位置

    // 插入多个 静态位置
    arr = [1, 2, 3, 2];
    insertToArray([5, 6], 1, arr); // 1
    arr; // [1, 5, 6, 2, 3, 2]
    // 恢复
    arr = [1, 2, 3, 2]!;
    // 插到目标位置后面
    insertToArray([5, 6], 1, arr, { after: true }); // 2
    arr; // [1, 2, 5, 6, 3, 2]
    // 恢复
    arr = [1, 2, 3, 2];
    // 负号位置
    insertToArray([5, 6], -1, arr, { after: false }); // 3
    arr; // [1, 2, 3, 5, 6, 2]
  • item插入到数组,在原数组中改变

    插入单个,动态目标

    类型参数

    • T

    参数

    • insert: T

      插入的item

    • toCB: ((options: Omit<InsertToArrayToCBOptions<T>, "inserts">) => boolean)

      查找要插入的位置回调

    • array: T[]

      要插入item的数组

    • 可选param: {
          reverse?: boolean;
          after?: boolean;
      }

      可选参数

      • 可选reverse?: boolean

        从前还是从后查起,true为前

      • 可选after?: boolean

        插入位置前后,true为后

    返回 number

    实际插入的位置

    // 插入单个 动态位置
    arr = [1, 2, 3, 2];
    insertToArray(5, (o) => o.item === 2, arr); // 1
    arr; // [1, 5, 2, 3, 2]
    // 恢复
    arr = [1, 2, 3, 2];
    // 插到目标位置后面
    insertToArray(5, (o) => o.item === 2, arr, { after: true }); // 2
    arr; // [1, 2, 5, 3, 2]
    // 恢复
    arr = [1, 2, 3, 2];
    // 反向查找
    insertToArray(5, (o) => o.item === 2, arr, { after: false, reverse: true }); // 3
    arr; // [1, 2, 3, 5, 2]
  • item插入到数组,在原数组中改变

    插入多个,动态目标

    类型参数

    • T

    参数

    • inserts: T[]

      插入的item

    • toCB: ((options: Omit<InsertToArrayToCBOptions<T>, "insert">) => boolean)

      查找要插入的位置回调

    • array: T[]

      要插入item的数组

    • 可选param: {
          reverse?: boolean;
          after?: boolean;
      }

      可选参数

      • 可选reverse?: boolean

        从前还是从后查起,true为前

      • 可选after?: boolean

        插入位置前后,true为后

    返回 number

    实际插入的位置

    // 插入多个个 动态位置
    arr = [1, 2, 3, 2];
    insertToArray([5, 5], (o) => o.item === 2, arr); // 1
    arr; // [1, 5, 5, 2, 3, 2]
    // 恢复
    arr = [1, 2, 3, 2];
    // 插到目标位置后面
    insertToArray([5, 5], (o) => o.item === 2, arr, { after: true }); // 2
    arr; // [1, 2, 5, 5, 3, 2]
    // 恢复
    arr = [1, 2, 3, 2];
    // 反向查找
    insertToArray([5, 5], (o) => o.item === 2, arr, { reverse: true }); // 3
    arr; // [1, 2, 3, 5, 5, 2]