TypeScript 算法手册 【数组基础知识】

news/2024/10/3 17:05:39 标签: typescript, 算法, javascript, 前端

文章目录

    • 1. 数组简介
      • 1.1 数组定义
      • 1.2 数组特点
    • 2. 数组的基本操作
      • 2.1 访问元素
      • 2.2 添加元素
      • 2.3 删除元素
      • 2.4 修改元素
      • 2.5 查找元素
    • 3. 数组的常见方法
      • 3.1 数组的创建
      • 3.2 数组的遍历
      • 3.3 数组的映射
      • 3.4 数组的过滤
      • 3.5 数组的归约
      • 3.6 数组的查找
      • 3.7 数组的排序
      • 3.8 数组的反转
      • 3.9 数组的连接
      • 3.10 数组的切片
      • 3.11 数组的填充
      • 3.12 数组的删除
      • 3.13 数组的合并
      • 3.14 数组的过滤
    • 数组的优点
    • 数组的缺点
    • 总结

在这里插入图片描述

1. 数组简介

1.1 数组定义

数组就像是一排整齐的储物柜,每个柜子里都放着相同类型的物品。这些柜子紧挨着排列,每个柜子都有自己的编号(从 0 开始),方便我们快速找到需要的物品。

用 TypeScript 代码表示一个简单的数组:

typescript">const array: number[] = [1, 2, 3, 4, 5];

1.2 数组特点

  1. 有序性: 数组中的元素按照顺序排列,可以通过索引访问
  2. 同质性: 数组中的元素必须是相同类型的
  3. 固定大小: 数组的大小在创建时固定,不能动态改变

2. 数组的基本操作

2.1 访问元素

typescript">const array: number[] = [1, 2, 3, 4, 5];
const element = array[2]; // 3

2.2 添加元素

typescript">const array: number[] = [1, 2, 3, 4, 5];
array.push(6); // [1, 2, 3, 4, 5, 6]

2.3 删除元素

typescript">const array: number[] = [1, 2, 3, 4, 5];
array.pop(); // [1, 2, 3, 4]

2.4 修改元素

typescript">const array: number[] = [1, 2, 3, 4, 5];
array[2] = 10; // [1, 2, 10, 4, 5]

2.5 查找元素

typescript">const array: number[] = [1, 2, 3, 4, 5];
const index = array.indexOf(3); // 2

3. 数组的常见方法

3.1 数组的创建

typescript">const array: number[] = [1, 2, 3, 4, 5];

3.2 数组的遍历

typescript">const array: number[] = [1, 2, 3, 4, 5];
for (const element of array) {
  console.log(element);
}

3.3 数组的映射

typescript">const array: number[] = [1, 2, 3, 4, 5];
const mappedArray = array.map((element) => element * 2); // [2, 4, 6, 8, 10]

3.4 数组的过滤

typescript">const array: number[] = [1, 2, 3, 4, 5];
const filteredArray = array.filter((element) => element % 2 === 0); // [2, 4]

3.5 数组的归约

typescript">const array: number[] = [1, 2, 3, 4, 5];
const reducedArray = array.reduce((acc, element) => acc + element, 0); // 15

3.6 数组的查找

typescript">const array: number[] = [1, 2, 3, 4, 5];
const foundElement = array.find((element) => element === 3); // 3

3.7 数组的排序

typescript">const array: number[] = [1, 2, 3, 4, 5];
array.sort((a, b) => a - b); // [1, 2, 3, 4, 5]

3.8 数组的反转

typescript">const array: number[] = [1, 2, 3, 4, 5];
array.reverse(); // [5, 4, 3, 2, 1]

3.9 数组的连接

typescript">const array1: number[] = [1, 2, 3];
const array2: number[] = [4, 5, 6];
const concatenatedArray = array1.concat(array2); // [1, 2, 3, 4, 5, 6]

3.10 数组的切片

typescript">const array: number[] = [1, 2, 3, 4, 5];
const slicedArray = array.slice(1, 4); // [2, 3, 4]

3.11 数组的填充

typescript">const array: number[] = [1, 2, 3, 4, 5];
array.fill(0); // [0, 0, 0, 0, 0]

3.12 数组的删除

typescript">const array: number[] = [1, 2, 3, 4, 5];
array.splice(2, 1); // [1, 2, 4, 5]

3.13 数组的合并

typescript">const array1: number[] = [1, 2, 3];
const array2: number[] = [4, 5, 6];
const mergedArray = [...array1, ...array2]; // [1, 2, 3, 4, 5, 6]

3.14 数组的过滤

typescript">const array: number[] = [1, 2, 3, 4, 5];
const filteredArray = array.filter((element) => element % 2 === 0); // [2, 4]

在这里插入图片描述

数组的优点

  1. 数组是有序的,可以通过索引访问元素
  2. 数组是同质的,所有元素必须是相同类型的
  3. 数组的大小是固定的,不能动态改变

数组的缺点

  1. 数组的大小是固定的,不能动态改变

总结

数组是一种非常基础的数据结构,它在很多场景下都非常有用。

喜欢的话就点个赞 ❤️,关注一下吧,有问题也欢迎讨论指教。感谢大家!!!

** 我已更新完的 TypeScript 设计模式 专栏,感兴趣可以关注一下,一起学习交流 **


http://www.niftyadmin.cn/n/5688728.html

相关文章

Java高效编程(12):重写toString方法

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 尽管 Object 类提供了 toString 方法的默认实现,但它返回的字符串通常不是类的使用者想要看到的。默认返回的字符串格式是类名加上“”符号和哈希码的十六进制表示,例如 PhoneNu…

五子棋双人对战项目(4)——匹配模块(解读代码)

目录 一、约定前后端交互接口的参数 1、websocket连接路径 2、构造请求、响应对象 二、用户在线状态管理 三、房间管理 1、房间类: 2、房间管理器: 四、匹配器(Matcher) 1、玩家实力划分 2、加入匹配队列(add) 3、移除…

leetcode打卡001-约瑟夫问题

约瑟夫问题 其背景故事是关于一组人站成一个圈,从某个人开始报数,每数到特定数字的人将被淘汰出圈,然后从被淘汰人的下一个人重新开始报数,直到最后剩下一个人。问题的目标是确定最后剩下的那个人在最初的位置。 关键词 递归&a…

openpnp - 底部相机高级校正的参数设置

文章目录 openpnp - 底部相机高级校正的参数设置概述笔记修改 “Radial Lines Per Calibration Z” 的方法不同 “Radial Lines Per Calibration Z”的校验结果不同 “Radial Lines Per Calibration Z”的设备校验动作的比较总结备注END openpnp - 底部相机高级校正的参数设置 …

深度学习模型性能优化实战之从评估到提升的全流程解析

1. 概述 在构建和使用机器学习模型的过程中,模型的效果评估和优化是两个至关重要的环节。无论模型是用于分类、回归还是其他任务,评估其表现以及持续优化模型性能,都是确保模型在实际应用中取得成功的关键。本节将重点介绍模型效果评估的定义…

XSS | DOM 型 XSS 攻击

关注这个漏洞的其他相关笔记:XSS 漏洞 - 学习手册-CSDN博客 0x01:DOM 型 XSS —— 理论篇 DOM 全称 Document Object Model,使用 DOM 可以使程序和脚本能够动态访问和更新文档的内容、结构及样式。 DOM 型 XSS 是一种特殊类型的反射型 XSS&…

枚举算法基础(C++)

第1题 鸡兔同笼 时限:1s 空间:256m 一只鸡有2个脚,一只兔有4个脚。你需要购买若干只鸡和若干只兔,使得下面两个条件同时成立: 1、鸡的数量加上兔的数量等于a。 2、鸡和兔总共有b只脚。 如果可以完成任务输出”…

Android 简单实现联系人列表+字母索引联动效果

效果如上图。 Main Ideas 左右两个列表左列表展示人员数据,含有姓氏首字母的 header item右列表是一个全由姓氏首字母组成的索引列表,点击某个item,展示一个气泡组件(它会自动延时关闭), 左列表滚动并显示与点击的索引列表item …