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.mzph.cn/diannao/58050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java语言-异常

目录 1.异常的概念与体系结构 1.1 异常的概念 1.2 异常的体系结构 1.3 异常的分类 1.3.1 编译时异常(受查异常) 1.3.2 运行时异常(非受查异常) 2.异常的处理 2.1 防御式编程 2.1.1 LBYL 2.1.2 EAFP 2.2 异常的抛出 2.3 异常的捕获 2.3.1 异常声明throws 2.3.2 …

Spring IoC DI

博主主页: 码农派大星. 数据结构专栏:Java数据结构 数据库专栏:MySQL数据库 JavaEE专栏:JavaEE 关注博主带你了解更多数据结构知识 目录 1. 应用分层 1.1 如何分层: 1.2 MVC与三层架构区别联系 2. Spring 3.IoC & DI⼊⻔ 3.1 什么是IoC? 3.2 DI 介绍 …

ctfshow——web(持续更新)

文章目录 1、web签到题——base64编码特征2、web2——登录框测试&sqlmap使用3、web3——php伪协议 1、web签到题——base64编码特征 查看源代码: base64编码特征:大小写数字,偶尔最后几位是。 2、web2——登录框测试&sqlmap使用 …

合约门合同全生命周期管理系统:企业智能合同管理的新时代

合约门合同全生命周期管理系统:企业智能合同管理的新时代 1. 引言 随着现代企业的快速发展,合同管理的复杂性日益增加。无论是采购合同、销售合同还是合作协议,合同管理已成为企业运营中至关重要的一环。传统的手工合同管理方式往往效率低下…

解读AVL树:平衡二叉搜索树的奥秘

✨✨小新课堂开课了,欢迎欢迎~✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C:由浅入深篇 小新的主页:编程版小新-CSDN博客 前言: 前面我们已经介绍了二叉搜…

交易逆序对的总数 ---- 分治-归并

题目链接 题目: 分析: 解法一: 暴力解法, 遍历所有的数对, 找到逆序对, 需要两重for循环, 一定会超时解法二: 归并排序的思想如果我们将数组分成两半, 我们在每一半中各找一个数字, 判断是否为逆序对, 再根据归并的思想, 再将一半数组分半, 判断是否为逆序对, 直到数组只有一…

【论文笔记】xGen-MM (BLIP-3): A Family of Open Large Multimodal Models

🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: xGen-MM (BLIP-3): A Fami…

网络编程_day3

#1024程序员节 #三次握手四次挥手#四次挥手#udp#recvfrom#sendto#服务器模型#客户端模型#Linux IO模型#阻塞式IO#非阻塞IO#设置非阻塞的方式 目录 【0】复习 【1】三次握手四次挥手 四次挥手 四次挥手既可以由客户端发起,也可以由服务器发起 【2】udp 1. 通信流程 2…

实验:使用Oxygen发布大型手册到Word格式

此前,我曾发表过一篇文章《结构化文档发布的故事和性能调优》,文中讨论了在将大型DITA手册转换为PDF格式时可能遇到的性能挑战及相应的优化策略。 近日,有朋友咨询,若将同样的大型手册输出为MS Word格式,是否也会面临…

Linux复习-C++

参考博客: https://blog.csdn.net/qq_45254369/article/details/126023482?ops_request_misc%257B%2522request%255Fid%2522%253A%252277629891-A0F3-4EFC-B1AC-410093596085%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&req…

[JAVAEE] 多线程的案例(一)-单例模式

目录 一. 单例模式 二. 单例模式的使用时机 三. 单例模式的关键代码 四. 单例模式的几种实现方式 4.1 饿汉方式(急) 4.2 懒汉模式(缓) a. 解决原子性的问题 b. 解决程序运行效率低下的问题 c. 解决指令重排序的问题(其次是为了解决内存可见性的问题) 五. 总结 一. …

HCIP-HarmonyOS Application Developer 习题(十七)

(判断)1、对于用户创建的一些临时卡片在遇到卡片服务框架死亡重启,此时临时卡片数据在卡片管理服务中已经删除,且对应的卡片ID不会通知到提供方,所以卡片使用方需要自己负责清理长时间未刚除的临时卡片数据。 答案&…

QT:MaintenanceTool 模块安装工具

QT的MaintenanceTool 工具对已安装的 Qt 进行卸载、修复等其他操作时提示At least one valid and enabled repository required for this action to succeed 解决方式:在设置中添加一个临时的仓库 https://mirrors.tuna.tsinghua.edu.cn/qt/online/qtsdkrepositor…

6,000 个网站上的假 WordPress 插件提示用户安装恶意软件

黑客使用窃取的凭证感染 WordPress 网站,并向其发送虚假插件,通过虚假的浏览器更新提示向最终用户发送恶意软件和信息窃取程序。 该恶意活动基于ClickFix假浏览器更新恶意软件的新变种,自 2024 年 6 月以来已使用假 WordPress 插件感染了超过…

放大器和基本运放电路的公式推导

放大器和基本运放电路的公式推导 放大器全家谱运放的渊源和数学分析基本运放电路的公式推导预备知识基本特性跟随器特性比较器特性 基本运放电路反相放大器(反比例运算放大器)同相放大器(正比例运算放大器)反相加法器同相加法器减…

Python条形图 | 指标(特征)重要性图的绘制

在数据科学和机器学习的工作流程中,特征选择是一个关键步骤。通过评估每个特征对模型预测能力的影响,我们可以选择最有意义的特征(指标),从而提高模型的性能并减少过拟合。本文将介绍如何使用 Python 的 Seaborn 和 Ma…

go 使用fyne实现桌面程序的计算器例子

使用Fyne工具包构建跨平台应用是非常简单的,在此之前我们需要做一些准备功能做,比如安装一些gcc基础图形依赖库,还有go语言本身的运行开发环境都是必要的。 在此之前我们希望你是go语言的已入门用户,掌握go的协程,管道…

Linux基础知识 - C(自学使用)

1.C语言基础知识 参考博客: https://blog.csdn.net/qq_45254369/article/details/126023482?ops_request_misc%257B%2522request%255Fid%2522%253A%252277629891-A0F3-4EFC-B1AC-410093596085%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%…

Xcode文件默认存储位置-使用c++file保存文件默认路径以及设置为路径为当前项目路径

Xcode文件默认存储位置-使用cfile保存文件默认路径以及设置为路径为当前项目路径 1.概述 使用Xcode工具开发时候,遇到C调用file创建文件后,在当前项目中找不到文件路径。这是由于xcode会将文件保存到默认设置的路径。下面是查看文件默认存储路径和修改…

DC-9靶场渗透

靶机:DC-9 DC: 9 ~ VulnHub 攻击机:kail linux 2024 1,将两台虚拟机网络连接都改为NAT模式,并查看DC-9的MAC地址 2,进行主机扫描,通过MAC地址发现靶机的IP地址 攻击机IP地址192.168.23.169,靶机IP地址192.1…