我是angular 8的新手。
我想创建一个像这样的数据结构,但是打字稿棉绒却在抱怨:
const x = {
['element1', 'element2'] : ['other1', 'other2'],
...
}
我想知道是否有可能创建一个这样的数据结构,而又不会使短毛猫生气。
谢谢。
答案 0 :(得分:1)
在ES6中,看起来像无效的对象计算属性语法。所以我们做不到。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer
或者,我们可以尝试使用Map
const map = new Map()
map.set(['element1', 'element2'], ['other1', 'other2'])
在TS中:
const map = new Map<[string, string], [string, string]>()
map.set(['element1', 'element2'], ['other1', 'other2'])
答案 1 :(得分:1)
Object
键仅是string
或Symbol
类型,但是您可以将Map
用于1个问题
type MyType = [string, string]
const m: Map<MyType, MyType> = new Map();
const key:MyType = ['element1', 'element2'];
const value: MyType = ['other1', 'other2'];
m.set(key, value);
console.log(m.get(key)); // <- work!
console.log(m.get(['element1', 'element2'])); // <- not work