当前位置: 首页 > news >正文

能注册账号的网站模板开发板哪个好

能注册账号的网站模板,开发板哪个好,网站前端提成多少,scratch编程1.map() 函数:定义与用途:map() 是数组(Array)的一个高阶方法,用于创建一个新数组,新数组的元素是原数组每个元素调用回调函数后的返回值。它不会改变原数组,而是返回一个新数组。在TypeScript中…

1.map() 函数

  • 定义与用途map() 是数组(Array)的一个高阶方法,用于创建一个新数组,新数组的元素是原数组每个元素调用回调函数后的返回值。它不会改变原数组,而是返回一个新数组。在TypeScript中,由于类型系统的引入,可以显式指定回调函数的参数和返回值类型,确保类型安全。

  • 语法
array.map(callback(currentValue, index, array), thisArg?);
  • callback:一个函数,接受三个参数:

    • currentValue:当前处理的数组元素。

    • index(可选):当前元素的索引。

    • array(可选):原数组本身。

  • thisArg(可选):执行 callback 时使用的 this 值。

  • 类型安全示例:在TS中,可以使用泛型或类型注解来约束类型。例如:

const numbers: number[] = [1, 2, 3];
// 使用箭头函数定义回调,指定输入和输出类型为number
const doubled: number[] = numbers.map((num: number): number => num * 2);
console.log(doubled); // 输出: [2, 4, 6]
  • 特点总结

    • 纯函数:不修改原数组,适合函数式编程。

    • 类型推断:TS能自动推断类型,但显式注解可提高代码可读性和安全性。

    • 效率:遍历整个数组,时间复杂度 O(n)。

2.set 函数(指 Set 数据结构):   

  • 定义与用途Set 是ES6引入的内置对象,在TypeScript中作为泛型类使用,用于存储唯一值(值不重复)的集合。它不是函数,而是一个构造函数(类),其实例提供方法来操作集合。TS通过泛型增强类型安全,如 Set<string> 表示只存储字符串类型。

  • 核心方法与属性

    • 构造函数new Set<T>(iterable?),其中 T 是泛型参数,指定元素类型。

    • 主要方法

      • add(value: T):添加值到集合(如果值已存在,则忽略)。

      • has(value: T):检查值是否存在于集合中,返回布尔值。

      • delete(value: T):删除指定值。

      • clear():清空整个集合。

    • 属性

      • size:获取集合中元素的数量。

  • 类型安全示例

// 创建一个字符串类型的Set
const uniqueNames: Set<string> = new Set();
uniqueNames.add("Alice");
uniqueNames.add("Bob");
uniqueNames.add("Alice"); // 添加无效,因为"Alice"已存在
console.log(uniqueNames.size); // 输出: 2
console.log(uniqueNames.has("Bob")); // 输出: true
uniqueNames.delete("Bob");
  • 特点总结

    • 唯一性:自动去除重复值,基于值比较(使用SameValueZero算法)。

    • 类型约束:TS泛型确保集合元素类型一致。

    • 性能:查找、添加和删除操作的平均时间复杂度为 O(1)。

总结

  • map():主要用于数组的转换操作,通过回调函数生成新数组。优势在于类型安全和不可变性,适合数据处理场景。

  • Set:是一种数据结构,用于存储唯一值的集合。优势在于高效的元素管理和类型约束,适合去重或成员检查任务。

  • 关键区别map() 是数组方法,用于元素映射;Set 是数据结构对象,用于值存储。

  • TS中的最佳实践:利用TypeScript的类型系统(如泛型)来定义回调函数或集合元素类型,避免运行时错误,提高代码健壮性。

http://www.dtcms.com/a/525772.html

相关文章:

  • 网站建设如何赚钱琴行网站开发学术论文
  • 年份与季度筛选组件封装
  • KingbaseES数据库:异构多活构建极致容灾
  • 做网站一个人能做吗网页设计六安模板
  • 河南郑州做网站的公司wordpress图片切换插件
  • 方法重写111
  • Spring依赖管理核心技巧与应用
  • java面试:有了解过消息队列mq吗,详细讲解一下
  • 建设校园网站公司怎么介绍自己的优势
  • 第十四届蓝桥杯大赛软件赛国赛Java大学C组(部分)
  • 2025年--Lc211- 557. 反转字符串中的单词 III--Java版
  • 网站建设售后服务承诺网站做多久才有流量
  • 网站外包制作工程建设报道
  • 【u-boot】u-boot启动文件start.S剖析(ARM64)
  • 【JUnit实战3_11】第六章:关于测试的质量(下)
  • 最新选题-基于Spark的二氧化碳排放量数据分析系统设计
  • 438.找到字符串中所有字母异位词
  • 鞍山手机网站设计广东省室内设计公司排名
  • 适合seo优化的网站制作网站鼠标特效
  • 【无标题】叽叽喳喳
  • 多线程六脉神剑第四剑:读写锁 (ReaderWriterLockSlim)
  • 网站设关键字wordpress搭建问答系统
  • 泉州高端网站建设微信h5免费制作网站模板下载
  • 第13章-人员管理
  • Maya Python入门:属性连接connectAttr()、创建节点createNode()
  • Java学习之旅第三季-17:Lambda表达式
  • 企业电子商务网站建设和一般建设网站收费标准
  • 【深度学习】深度学习核心:优化与正则化超详细笔记
  • 南昌做网站哪个好如何做好网站推广工作
  • 网站网速慢网站正在建设中_敬请期待