apply-hooks
Version:
A high-quality & reliable JavaScript Hooks library.
51 lines (50 loc) • 1.7 kB
TypeScript
/**
* append 列表尾部添加一个元素
* insert(pos, el) 向特定的位置插入一个元素
* get(pos) 获取对应位置的元素
* indexOf(el) 返回该元素在列表中索引 如果没有的话 直接返回-1
* update(pos) 修改某个位置的元素
* removeAt(pos) 从列表的特定位置移除一项
* remove(el) 从列表中移除一项
* isEmpty() 判断列表的元素是否为空
* size() 返回链表中元素个数
* toString 返回列表中元素,以字符串形式返回
* getAll 获取全部内容
*/
declare class Node<T> {
val: T;
next?: Node<T> | null;
constructor(val: T, next?: Node<T> | null);
}
export declare class LinkedList<T> {
head: Node<T> | null;
length: number;
constructor();
append(val: T): boolean;
insert(val: T, position?: number): boolean;
getAll(): T[];
get(position: number): T | boolean;
indexOf(val: T): number;
update(position: number, val: T): boolean;
removeAt(position: number): boolean | T;
remove(val: T): boolean | T;
isEmpty(): boolean;
size(): number;
toString(splitSign?: string): string;
}
export interface ILinkedList<T> {
append: (val: T) => boolean;
insert: (val: T, position?: number) => boolean;
getAll: () => T[];
get: (position: number) => T | boolean;
indexOf: (val: T) => number;
update: (position: number, val: T) => boolean;
removeAt: (position: number) => boolean | T;
remove: (val: T) => boolean | T;
isEmpty: () => boolean;
size: () => number;
toString: (splitSign: string) => string;
_self: LinkedList<T>;
}
declare const useLinkedList: <T>() => ILinkedList<T>;
export default useLinkedList;