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

ts:对象数组的简单使用

ts中对象数组的简单使用

  • 一、主要内容说明
  • 二、例子
    • 1、源码1
    • 2、源码1运行效果
  • 三、结语
  • 四、定位日期

一、主要内容说明

平常ts创建数组的格式如下:

let array:string[]=["元素1","元素2","元素3","元素3","元素4"---]

元素1、元素2、元素3,等这些元素,可以为字符,数字,也可以为对象。ts中大括号“{}”表示一个对象,在上面格式的基础上,把中括号“ [] ”里的各个元素替换为对象“ {} ”,即

let array:string[]=[{},{},{},{},{}---]

如此一个对象数组便可建立完成。对象“ {} ”里面可以添加很多东西,变量函数等。
上边我们创建的 array 类别为字符串类型“string”,上边各个元素替换成对象后,array也可更改类型,用以输入或输出函数。类型可以有系统里自带的number、string、date等这些类,也可以自己创建一个类别,如class可以创建自定义的类,当然本文我们不用。我们用interface创建接口类,接口命名为People。于是我们创建的对象类型选择便可更改为People一类,如 let array:People,若想改为数组形式,添加中括号便可,如 let array:People[]
最后我们可以对数组使用各种方法,如sort、map、filter等方法。
下边源码中数组命名为people,上边数组格式命名为array,文字和源码对照看需要注意

二、例子

1、源码1

// 定义一个接口 People,描述一个人包含的属性
interface People {
    name: string; // 姓名
    age: number;  // 年龄
}

// 创建一个 People 类型的数组,包含多个对象
let people: People[] = [
    { name: '小蜗牛764号', age: 30 },
    { name: '小蜗牛765号', age: 25 },
    { name: '小蜗牛766号', age: 35 }
];

// 按照年龄升序排序
people.sort((a, b) => a.age - b.age);
console.log(people); // 输出排序后的结果

// 按照姓名字母顺序排序
people.sort((a, b) => a.name.localeCompare(b.name));
console.log(people); // 输出排序后的结果

// 过滤出成年人(年龄大于18岁的人)
const adults = people.filter(person => person.age > 18);
console.log(adults); // 输出成年人列表

// 提取所有人的姓名
const names = people.map(person => person.name);

// 计算每个人的年龄乘以2
const names_age2_add = people.map(person => person.age * 2);

console.log(names); // 输出所有人的姓名
console.log(names_age2_add); // 输出每个人的年龄乘以2的结果

2、源码1运行效果

在这里插入图片描述

三、结语

本文主要说明ts对象数组的简单使用,理解也容易,先理解一般数组的样子,然后把数组中的普通元素变换为对象来理解便可。当然本文对于数组方法未过多讲解,博主会另起博文说明。编写本文主要用于知识回顾使用,后面一回顾可以短时间内捡回知识点。如此如此,这般这般。
说实话,ts相关的内容,想把逻辑性的东西用文字表达出来好难!博主原本想从let、var、const这些最简单的变量命名开始编写博文,但发现难以下手,现在更改为从某一部分内容入手,里面添加点其他东西,然后再拓展编写其他东西,如此便有编写的方向。本篇由此产生。
由于笔者的能力有限,创作的内容有所不足在所难免,也敬请读者包涵和指出,万分感谢!

四、定位日期

2024-10-26;
15:52;


http://www.kler.cn/news/367304.html

相关文章:

  • 2024 BuildCTF 公开赛|MISC
  • 青少年编程与数学 02-002 Sql Server 数据库应用 15课题、备份与还原
  • 【自然语言处理】BERT模型
  • 回顾项目测试全过程,测试如何回答“测完了吗?”
  • 【Java网络编程】从套接字(Socket)概念到UDP与TCP套接字编程
  • C# 的两个list怎么判断是否存在交集
  • ArcGIS003:ArcMap常用操作0-50例动图演示
  • ubuntu18.04中如何设置桥接模式和静态ip
  • 深入图像处理:使用Pillow库的实用指南
  • 时序分解 | TTNRBO-VMD改进牛顿-拉夫逊算法优化变分模态分解
  • C#的变量类型和数据类型
  • 软件设计师考试大纲整理
  • Linux 搭建NFS服务器
  • STM32--基于STM32F103C8T6的OV7670摄像头显示
  • Oracle RAC仲裁交换机的小科普
  • 【BASH 常用脚本系列 4 -- 在 shell 脚本执行的时候打印出所调用命令所在的路径】
  • 青少年编程与数学 02-002 Sql Server 数据库应用 14课题、触发器的编写
  • HTML+JavaScript案例分享: 打造经典俄罗斯方块,详解实现全过程
  • 标准版如何切换缓存类型
  • oracle 数据库 迁移到 pgsql,防止出现重大bug 回滚到 oracle,需要同步数据如何处理?
  • SpringCloud 入门
  • 【AIGC】AI文本转语音+语音转文本,构建专属领域转文本模型
  • Go语言基础教程:可变参数函数
  • 鸿蒙-任务栏右击退出 或 UIAbility窗口关闭,怎么弹框拦截
  • 优质短视频素材平台推荐
  • Python unstructured库详解:partition_pdf函数完整参数深度解析