AkiraVoid 的网页工具函数集
目录
使用方法
-
通过 npm 或 yarn 使用:
# npm npm install @akiravoid/web-utilities # yarn yarn add @akiravoid/web-utilities
然后在 JavaScript 或 TypeScript 中导入:
import * as Utilities from "@akiravoid/utilities"; // 使用 const list = new Utilities.List();
-
通过 <script> 标签引用:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>AkiraVoid Utilities</title> <script src="/path/to/akiravoid.utilities.min.js"></script> <!-- 或者使用 CDN --> <script src="https://cdn.jsdelivr.net/npm/@akiravoid/web-utilities@latest/dist/akiravoid.utilities.min.js"></script> </head> <body></body> </html>
在 JS 文件中使用:
let list = new AkiraVoid.Utilities.List();
API 列表
List<T> 类
定义
表示一个强类型的对象列表。并提供访问和设置列表中元素、搜寻、排序和操作列表的函数。
类型参数
T
:列表内元素的类型。
构造器
constructor(T[])
初始化一个新的 List<T> 实例。
参数:items: T[]
属性
Count { get; }
:获取列表中元素数量。
Items { get; }
:获取列表中所有元素组成的数组。
方法
API | 描述 |
---|---|
Get(number) |
获取指定位置的元素。 |
Set(number, T) |
设置指定位置的元素。 |
Add(T) |
在 List<T> 的末尾添加对象。 |
AddRange(T[]) |
将指定集合中的元素添加到 List<T> 的末尾。 |
Clear() |
将列表中的所有元素清除。 |
Contains |
检查列表中是否包含指定元素。 |
ConvertAll<TOutput>(Converter<T, TOutput>) |
将现有 List<T> 中的元素转换成另一个类型并返回一个包含转换后元素的新列表。 |
Distinct() |
去除列表中的重复项,并返回一个新的列表。 |
Exists(Predicate<T>) |
检查 List<T> 中是否包含满足指定条件的元素。 |
Find(Predicate<T>) |
在 List<T> 中查找第一个满足指定条件的元素。 |
FindAll(Predicate<T>) |
在 List<T> 中查找所有满足指定条件的元素。 |
FindIndex(Predicate<T>) |
在 List<T> 中查找第一个满足指定条件的元素的索引。 |
FindLast(Predicate<T>) |
在 List<T> 中查找最后一个满足指定条件的元素。 |
FindLastIndex(Predicate<T>) |
在 List<T> 中查找最后一个满足指定条件的元素的索引。 |
ForEach(Action<T>) |
对列表中每一个元素执行操作。 |
GetRange(number, number) |
从指定位置开始获取包含列表中的指定个数元素的列表副本。 |
IndexOf(T, [number = 0]) |
从列表指定位置开始向后查找指定元素的索引。 |
Insert(number, T) |
在列表指定位置插入元素。 |
InsertRange(number, T[]) |
在列表指定位置插入一组元素。 |
LastIndexOf(T, [number]) |
从列表指定位置开始向前查找指定元素的索引。 |
Remove(T) |
从列表中删除找到的第一个指定元素。 |
RemoveAll(Predicate<T>) |
从列表中删除所有符合条件的元素,并返回删除元素的个数。 |
RemoveAt(number) |
删除列表中指定位置的元素。 |
RemoveRange(number, number) |
删除列表中指定范围的元素。 |
Reverse() |
反转列表中元素的顺序。 |
Sort() , Sort(Comparision<T>) , Sort(IComparer<T>)
|
将列表中的元素按照指定规则比较大小,并按升序排序。 |
Take(number) |
从列表开头开始选取指定个数的元素,并返回新的列表。 |
TakeLast(number) |
从列表末尾开始选取指定个数的元素,并返回新的列表。 |
ToArray() |
将列表中的所有元素复制到新的数组。 |
TrueForAll(Predicate<T>) |
检查是否列表中的每一个元素都满足给定条件。 |
Listener 函数组
AddListener<TElement>(TElement, string, keyof HTMLEventMap | string, EventListenerOrEventListenerObject, [boolean | AddEventListenerOptions])
添加一个事件监听器。通过此函数添加监听器的同时会根据提供的 key
生成一个移除器,能确保不会有两个具有相同 key
的监听器被添加。
类型参数
TElement extends HTMLElement
:要添加监听器的 DOM 元素的类型。
参数
target: TElement
:要添加监听器的目标 DOM 元素。
key: string
:监听器的 key
。全局环境下该值是唯一的,任何具有相同 key
的监听器被添加均会导致原监听器被移除。
type: keyof HTMLEventMap | string
:监听器类型。
listener: EventListenerOrEventListenerObject
:监听器回调函数。
[options]: boolean | AddEventListenerOptions
:监听器可选设置。
RemoveListener(string)
根据监听器的 key
来移除监听器。此函数仅对通过 AddListener
添加的监听器有效。
参数
key: string
:监听器的 key
。
返回
如果移除成功则返回 true
,否则返回 false
。