将对象推送到 TypeScript 中的数组

在 TypeScript 中将对象推送到数组

Push an object to an Array in TypeScript

将对象推送到数组:

  1. 将数组的类型设置为Type[]
  2. 将对象的类型设置为Type
  3. 使用push()方法将对象推送到数组。
索引.ts
interface Animal { name: string; age: number; } const arr: Animal[] = []; const a1: Animal = { name: 'Alfred', age: 3, }; arr.push(a1); // 👇️ [{name: 'Alfred', age: 3}] console.log(arr);

我们将数组的类型设置为Animal[],因此我们可以Animal使用
Array.push
方法将类型的对象推送到它。

如果您从远程源(例如数据库)获取对象,您可能必须
断言其类型

索引.ts
interface Animal { name: string; age: number; } const arr: Animal[] = []; const a1 = { name: 'Alfred', age: 3, } as unknown as Animal; // 👈️ type assertion arr.push(a1); // 👇️ [{name: 'Alfred', age: 3}] console.log(arr);
有时我们拥有 TypeScript 无法知道的有关值类型的信息。从远程 API 获取数据时通常会出现这种情况。

在这种情况下,我们可以使用类型断言将对象设置为特定类型,这样我们就可以将它推送到数组中。

如果您只有对象应包含的值,则必须在将对象推送到数组之前创建该对象。

索引.ts
interface Animal { name: string; age: number; } const arr: Animal[] = []; const a1 = {} as Animal; a1.name = 'Alfred'; a1.age = 3; arr.push(a1); // 👇️ [{name: 'Alfred', age: 3}] console.log(arr);

另一方面,如果您有多个对象,则可以将它们作为逗号分隔值传递给push()方法,并在对方法的同一次调用中将它们推送到数组。

索引.ts
interface Animal { name: string; age: number; } const arr: Animal[] = []; const a1: Animal = { name: 'Alfred', age: 3, }; const a2: Animal = { name: 'Fred', age: 2, }; arr.push(a1, a2); // 👇️ [{name: 'Alfred', age: 3}, {name: 'Fred', age: 2}] console.log(arr);

push方法采用一个或多个值并将它们推送到数组中,因此我们能够将多个以逗号分隔的对象作为参数传递给它。

发表评论