在Typescript中乘以数组的元素

在Typescript中乘以数组的元素,typescript,Typescript,我正在实现一个函数来寻找矩阵的行列式。但是,以下代码显示错误:算术运算的右侧必须是“any”、“number”或枚举类型 我如何解决这个问题 export const matrixDeterminant = (a: number[][]) => { switch(a.length){ case 2: const ad = a[0]*a[3] const bc = a[1]*a[2] return ad - bc } } 将a指定为数字数

我正在实现一个函数来寻找矩阵的行列式。但是,以下代码显示错误:算术运算的右侧必须是“any”、“number”或枚举类型

我如何解决这个问题

export const matrixDeterminant = (a: number[][]) => {
  switch(a.length){
    case 2:
      const ad = a[0]*a[3]
      const bc = a[1]*a[2]
      return ad - bc
  }
}
将a指定为数字数组,但将其视为单个数字数组

要么:

export const matrixDeterminant = (a: number[]) => {
  switch(a.length){
    case 4: 
      const ad = a[0]*a[3];
      const bc = a[1]*a[2];
      return ad - bc;
  }
}

//call example
matrixDeterminant([1,2,3,4]);


您使用数组的数组,因此a[0]也是一个数组
export const matrixDeterminant = (a: number[][]) => {
  switch(a.length) { //you should check both rows and cols
    case 2:
      const ad = a[0][0]*a[1][1];
      const bc = a[0][1]*a[1][0];
      return ad - bc;
  }
}

//call example
matrixDeterminant([[1,2],[3,4]]);