Mar*_*Roy 0 javascript arrays typescript
我想在一个步骤中实例化一组键值对,但我不知道如何。自动编号在我的用例中不起作用。我只能分两步让它工作:
let army: string[] = [];
army[100] = 'centuria';
army[1000] = 'legion';
...
我希望能够做什么,这在大多数其他编程语言中都可用:
let army: string[] = [
100 => 'centuria',
1000 => 'legion',
...
];
有没有办法在 TypeScript 中做到这一点?
编辑:我不能使用对象,因为我需要将数据传递给需要数组的接口。
javascript 中没有这样的功能,但您可以轻松创建它:
function arrayFactory<T>(obj: { [key: number]: T }): T[] {
let arr = [];
Object.keys(obj).forEach(key => {
arr[parseInt(key)] = obj[key];
});
return arr;
}
let arr = arrayFactory({ 100: "centuria", 1000: "legion" });
console.log(arr); // [100: "centuria", 1000: "legion"]
Run Code Online (Sandbox Code Playgroud)
(操场上的代码)
问题是为什么不使用对象作为键/映射来存储这些数据?使用数组(基本上是一个对象本身)有什么不同?
| 归档时间: |
|
| 查看次数: |
17906 次 |
| 最近记录: |