好奇为什么我会收到这样的错误:
类型'(Float64Array | [number,Friends] [])[]'不能分配给 输入'[[number,Friends] [],Float64Array]'。物业'0'缺失 在类型'(Float64Array | [number,Friends] [])[]'。
相关代码:
@date_of_birth = array[0].to_datetime
@date_of_death = array[1].to_datetime
我可以强制使用类型转换,但这是正确的行为吗?我正在使用最新版本的打字稿。
编辑: 这是类型:
export let process_data = ([connections,target]) : [[user_id, Friends][], Matrix_float64] =>
compose(
(list : [user_id, Friends][]) =>
[list,construct_matrix(list)];
, .....
let construct_matrix = (list : [user_id, Friends][]) : Matrix_float64 => {
...
以下是变量export interface Friends {
count:number,
overall:number,
items:number[]
};
export type user_id = number;
中包含的数据示例:
list
当我这样做[ [ 136444868, { count: 304, overall: 304, items: [Object] } ],
[ 5686439, { count: 4, overall: 510, items: [Object] } ],
[ 5501650, { count: 8, overall: 360, items: [Object] } ],
[ 5440602, { count: 5, overall: 344, items: [Object] } ],
[ 5366101, { count: 0, overall: 29, items: [] } ],....
时(重复与函数定义中相同的返回类型)错误消失了,一切都很好。那么编译器没有查看我的定义?