如何在TypeScript中将数组初始化为元组类型?

南玄旭

我正在使用React / Redux制作数独Web应用程序。但是我在键入时遇到了一些问题。

当前代码:

// typedef
type Tuple9<T> = [T, T, T, T, T, T, T, T, T];

export type Board = Tuple9<Tuple9<number>>;

// code using board type, I want to fix getEmptyBoard() to more programmatic.
const getEmptyBoard: (() => Board) = () => {
  return [
    [0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 0]
  ];
};

我想解决getEmptyBoard()更多程序问题。

  1. 有没有针对这种情况的好的解决方案?
  2. 如果为1,什么是解决方案?
巴沙尔

因为9我会做你所做的。

否则,您将遵循古老的函数式编程的说法:If its pure on the outside, it doesn't matter if its impure on the inside并战略性地使用Tuple9 类型断言

type Tuple9<T> = [T, T, T, T, T, T, T, T, T];
function make9<T>(what: T): Tuple9<T> {
    return new Array(9).fill(what) as Tuple9<T>;
}

export type Board = Tuple9<Tuple9<number>>;
function makeBoard(): Board {
    return make9(make9(0));
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在TypeScript中将{[key:string]:string}初始化为{}?

如何在bash中将数组元素初始化为0?

如何在C中将数组初始化为0?

如何在C中将数组初始化为全0?

如何在C中将结构数组初始化为Global?

如何在Typescript中初始化类型化数组

如何在Java中将数组的所有元素初始化为任何特定值

如何在Golang中将从protobuf导入的消息初始化为数组

如何在Swift中将数组的所有成员初始化为相同的值?

编译器如何在C中将数组初始化为零?

如何在C ++中的函数中将静态数组初始化为特定值?

如何在cython中将结构初始化为NULL?

如何在 C++ 中将结构初始化为 0

如何在 TypeScript 中将数组类型隐式转换为元组类型?

如何在Java中将2D数组的所有元素初始化为任何特定值

如何使用c#在SharePoint中将字符串初始化为日期时间字段类型

如何将合并的元组初始化为init函数?

如何在类中将向量初始化为特定长度?

如何在控制器中将表单初始化为范围变量

如何在C中将文字初始化为size_t?

如何在kotlin数据类中将不可空属性初始化为this指针?

如何在TypeScript中初始化(声明)数组?

将数组类型初始化为对象javascript

将 int 数组初始化为类型参数

如何在Swift中使用元组数组参数调用类初始化?

如何在F#中将元组序列化为列表?

初始化为Array [] =“ testit”时如何存储字符数组

ot如何将propertiesArray初始化为数组

如何初始化这些数组类型?