1

「結果」は「イベント|未定義」のタイプを与えます。
「結果」を「イベント」にする方法はありますか?
または、reduce() または map() で同じ動作を実行する方法はありますか?

私の目標は、配列から最初の一致カテゴリを取得することです。

data: Event[] = [
  {
    title: "demo 1",
    category: "a"
  },
  {
    title: "demo 2",
    category: "b"
  },
  {
    title: "demo 3",
    category: "a"
  },
]

const result = data.find(item => item.category === 'a')
4

1 に答える 1

1

比較対象のカテゴリ文字列が常に存在することがわかっている場合は、not null アサーション演算子を使用できます!

// Note: the type hinting here is optional
const result: Event = data.find(item => item.category === 'a')!;

インデックスで配列にアクセスしても、Event | undefinedforは決して得られませんEvent[]。したがって、次のようなこともできます (繰り返しますが、 index が になる場合は無視されます-1)。

const index = data.findIndex(item => item.category === 'a');
// Note: the type hinting here is optional
const result: Event = data[index];
于 2020-10-07T17:27:46.357 に答える