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

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.lryc.cn/news/470445.html

相关文章:

  • 当我们在微服务中使用API网关时,它是否会成为系统的瓶颈?这种潜在的瓶颈如何评估和解决?如何在微服务架构中保证高效请求流量?|API网关|微服务|异步处理
  • 微服务设计模式 - 特性标志(Feature Flags)
  • 故障诊断 | MTF-TLSSA-DarkNet-GRU-MSA迁移学习故障识别程序(t分布+莱维飞行改进麻雀优化)
  • 【mysql 进阶】2-1. MySQL 服务器介绍
  • 基于Qt的多线程并行和循序运行实验Demo
  • 机器视觉-相机、镜头、光源(总结)
  • 第六十二周周报 HestGCL
  • 存储期类别
  • 开源模型应用落地-Qwen2-VL-7B-Instruct-vLLM-OpenAI API Client调用
  • 风电叶片损伤YOLO检测数据集(猫脸码客第229期)
  • 修改 RN 打包后生成的app-release 安装包的名称
  • 大模型EfficientSam用于图像语义分割自动标注
  • 一个关于@JsonIgnore的isxxx()问题
  • Django-cookie,session
  • HarmonyOS开发 - 本地持久化之实现LocalStorage支持多实例
  • 【已解决,含泪总结】非root权限在服务器Ubuntu18.04上配置python和torch环境,代码最终成功训练(二)
  • Flutter鸿蒙next 刷新机制的高级使用【衍生详解】
  • c/c++--静态变量和静态函数(static)
  • Windows系统启动MongoDB报错无法连接服务器
  • Linux的makefile与进度条小程序实践
  • latex写作基础
  • Chromium HTML5 新的 Input 类型email对应c++
  • 嵌入式Linux的AXI平台(platform)驱动教程
  • 什么是Java策略模式?与Spring的完美结合
  • [Go实战]:HTTP请求转发
  • 【C++单调栈 贡献法】907. 子数组的最小值之和|1975
  • 极狐GitLab 17.5 发布 20+ 与 DevSecOps 相关的功能【二】
  • Django 5 增删改查 小练习
  • 【STM32 Blue Pill编程实例】-I2C主从机通信(中断、DMA)
  • 基于SSM+小程序的旅游社交登录管理系统(旅游4)