📜  具有类型的对象的 typescript 数组 - TypeScript (1)

📅  最后修改于: 2023-12-03 14:50:07.935000             🧑  作者: Mango

具有类型的对象的 TypeScript 数组

在 TypeScript 中,数组是一种特殊的对象类型,它可以存储多个相同类型的值。但是,有时候我们需要在数组中存储不同类型的对象,这时就可以使用具有类型的对象的 TypeScript 数组。

定义数组类型

在 TypeScript 中定义具有类型的对象的数组,需要使用泛型类型注解。泛型类型注解是一种特殊的语法,它可以让我们定义泛型类型,从而使代码更加灵活。

定义数组类型语法
let myArray: Array<MyObject> = [
  { name: 'object1', value: 1 },
  { name: 'object2', value: 2 },
];

上述语法中,Array<MyObject> 表示一个数组类型,里面只能存储 MyObject 类型的对象。这个数组类型注解可以在变量定义时使用,也可以在函数参数中使用。

创建具有类型的对象的数组

在 TypeScript 中,可以使用以下几种方式创建具有类型的对象的数组。

方式一:直接定义
let myArray: Array<MyObject> = [
  { name: 'object1', value: 1 },
  { name: 'object2', value: 2 },
];

上述示例中,定义了一个 Array<MyObject> 类型的数组,其中存储了两个 MyObject 类型的对象。

方式二:使用 push 方法
let myArray: Array<MyObject> = [];

myArray.push({ name: 'object1', value: 1 });
myArray.push({ name: 'object2', value: 2 });

上述示例中,先定义了一个空的 Array<MyObject> 类型的数组,然后使用 push 方法向数组中添加 MyObject 类型的对象。

方式三:使用 concat 方法
let myArray1: Array<MyObject> = [
  { name: 'object1', value: 1 },
];

let myArray2: Array<MyObject> = [
  { name: 'object2', value: 2 },
];

let myArray3: Array<MyObject> = myArray1.concat(myArray2);

上述示例中,定义了两个 Array<MyObject> 类型的数组,可以使用 concat 方法将它们合并为一个数组。

循环遍历具有类型的对象的数组

在 TypeScript 中,可以使用以下几种方式遍历具有类型的对象的数组。

方式一:for 循环
for (let i = 0; i < myArray.length; i++) {
  let obj = myArray[i];
  console.log(obj.name, obj.value);
}

上述示例中,使用 for 循环遍历数组,并访问数组中的每个对象的属性。

方式二:forEach 方法
myArray.forEach((obj) => {
  console.log(obj.name, obj.value);
});

上述示例中,使用 forEach 方法遍历数组,并访问数组中的每个对象的属性。

总结

在 TypeScript 中使用具有类型的对象的数组,可以使用泛型类型注解来定义数组类型,并且可以使用多种方式创建和遍历数组。这样可以使代码更加灵活和可维护。