代码之家  ›  专栏  ›  技术社区  ›  Shahar Shokrani

源有X个元素,但目标只允许1个元素

  •  1
  • Shahar Shokrani  · 技术社区  · 4 年前

    源有X个元素,但目标只允许1个元素。

    export const FooMapping: [{id: FooOperation, display: string}] = [
        { id: FooOperation.Undefined, display: 'Nothing' },
        { id: FooOperation.A, display: 'I'm A' },
        { id: FooOperation.B, display: 'I'm B' }
    ];
    
    export enum FooOperation {
        Undefined = 0,
        A = 1,
        B = 2,
    }
    

    {id: FooOperation, display: string} ?

    1 回复  |  直到 4 年前
        1
  •  2
  •   pzaenger lio    4 年前

    [{id: FooOperation, display: string}] 定义 tuple 只有一个元素。

    尝试:

    export const FooMapping: Array<{id: FooOperation; display: string}> = [
        { id: FooOperation.Undefined, display: 'Nothing' },
        { id: FooOperation.A, display: "I'm A" },
        { id: FooOperation.B, display: "I'm B" }
    ];
    

    或者想想类似的事情:

    interface Foo {
      id: FooOperation;
      display: string;
    }
    
    export const FooMapping: Foo[] = [...];