考虑以下界面:
interface Foo {
bar: string;
baz: number;
}
我想按上述定义的顺序而不是赋值的顺序获取Foo
的值,即:
magicFn({bar: 'a', baz: 0}) === magicFn({baz: 0, bar: 'a'}) // ['a', 0]
我幼稚的方法是使用Object.values()
,但是它忽略了接口的顺序(并不奇怪,因为接口不是Javascript实体)。
我看到了一个issue,但已被MS锁定...
编辑:
我不希望对财产秩序有任何保证。我想要一个函数,该函数按给定的接口定义的顺序检索值。
答案 0 :(得分:1)
javascript不能保证属性顺序,并且Typescript是javascript的超集。
我建议您使用其他保留订单,Map
或数组的数据结构