JS 数据结构 - 哈希表 哈希表 也称散列表,是一种特殊的字典实现。 简单来说,正常的字典是通过键访问值的,但是在哈希表中,键首先会被哈希转换为某个数组下标。然后通过这个下标获取元素。 js 引擎内部已经将 Map 及 Object 优化为哈希表了。 // 在实现哈希表前,需要先实现将键转换为哈希的方法 /** * 转换字 2024-09-14 数据结构 #编程#javascript#typescript#数据结构#软件开发
JS 数据结构 – 集合 集合 集合由一组无序且唯一(不能重复)的项组成 使用了与 有限集合 相同的数学概念。 /** * @namespace abstract_Set * @description 抽象集合命名空间 */ export namespace abstract_Set { /** * @cla 2024-09-14 数据结构 #编程#javascript#typescript#数据结构#软件开发
JS 数据结构 - 栈 栈 是一种先进后出的有序集合。 新元素会被增加到栈顶,旧元素则积压在栈底。 如果要移除旧元素,那么首先就需要移除新元素。 一个栈应该实现有: 入栈 用于增加新元素到栈顶 出栈 用于将栈顶元素弹出 查看栈顶元素 不做修改 查看栈是否为空 清空栈 查看栈大小 class Stack { stac 2024-09-14 数据结构 #编程#javascript#typescript#数据结构#软件开发
JS 数据结构 - 链表 链表 是一种不连续的数据集合。 链表由节点组成,节点有存储的元素和指向下一节点的指针。 链表的核心思想就是: 查找时从表头开始,沿着每一个节点的 next 指针向下查找。a 增删改时则调整 next 指针即可。 class Node<T> { // 传入的元素会自动变为属性 cons 2024-09-14 数据结构 #编程#javascript#typescript#数据结构#软件开发
JS 数据结构 - 字典 字典 也称映射,符号表和关联数组。常用于保存对应引用地址。 在字典中存储的是键值对 key: value。 其中,键(key)是对外展示的用于获取值(value)的。 一个字典应该有: 增加键值对 删除键值对 查询键存在 获取键值 清空字典 获取字典大小 查看字典是否为空 // 这是使用数组实现的简 2024-09-14 数据结构 #编程#javascript#typescript#数据结构#软件开发
js实现 沃罗诺伊图(Voronoi Diagram) 首先看效果。 前提代码: // 主要是用于确保 canvas 元素存在 且能获取到 canvas 渲染上下文 const canvas = document.getElementsByTagName('canvas')[0] || 2024-09-14 实践 #编程#算法#软件开发
Lua 基础 Lua function fn (n) if n == 0 then return 1 else return n * fn(n - 1) end end print('please input number') input = io.rea 2024-09-14 教程 #编程#脚本
TS 元数据 TS 元数据 在使用元数据前,首先需要在 tsconfig.json 中启用。 { "compilerOptions": { // 支持装饰器 "experimentalDecorators": true, // 装饰器元数据 "emitDecoratorMeta 2024-09-14 教程 #编程#javascript#typescript#软件开发
TSX语法 TSX语法 首先要知道 JSX,JSX 是一种可以在 JS 之中描述 HTML 的语法。 虽然转换的语义根据不同的实现而定,比如说在 Vue 和 React 中的就会不一样。 但它本身就是一种表达式。在编译后会转换为普通的JS对象。 而 TSX 与 JSX,就像是 TS 和 JS,搞好一个了,另一个 2024-09-14 编程 #编程#javascript#typescript#软件开发
vue3 基础 Vue3 语法 第一步: /** * 首先要求引入 defineComponent 和 可选的 ref * defineComponent 用于解决 Ts 下传统的 Vue.extends 无法对组件给出正确参数类型推断 * 即 在 ts 环境中如果参数类型推断不对, 使用 defineCompon 2024-09-14 开发 #编程#前端#框架#javascript#typescript